From c3f7f6df16c889fc60d29ef71aef2319cac026b0 Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Tue, 8 Oct 2013 11:18:00 -0500 Subject: [PATCH] Fall back from mknod() to socket()/bind() on EPERM for SOCK_STREAM. Apparently OS X is throwing EPERM for mknod(... SOCK_STREAM), and the current OS X manpage does state that mknod() requires superuser privileges. Thanks to Zoran Zaric for the report. Signed-off-by: Rob Browning --- lib/bup/metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bup/metadata.py b/lib/bup/metadata.py index d1806b5..742d1d9 100644 --- a/lib/bup/metadata.py +++ b/lib/bup/metadata.py @@ -322,7 +322,7 @@ class Metadata: try: os.mknod(path, 0600 | stat.S_IFSOCK) except OSError, e: - if e.errno == errno.EINVAL: + if e.errno in (errno.EINVAL, errno.EPERM): s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) s.bind(path) else: -- 2.39.2