summaryrefslogtreecommitdiffstats
path: root/Lib/multiprocessing/forkserver.py
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2020-03-09 13:48:01 (GMT)
committerGitHub <noreply@github.com>2020-03-09 13:48:01 (GMT)
commit6012f30beff7fa8396718dfb198ccafc333c565b (patch)
tree54b0c8bbb4cc1c76ca7206edbd6133f71fc4d95c /Lib/multiprocessing/forkserver.py
parentdccd41e29fb9e75ac53c04ed3b097f51f8f65c4e (diff)
downloadcpython-6012f30beff7fa8396718dfb198ccafc333c565b.zip
cpython-6012f30beff7fa8396718dfb198ccafc333c565b.tar.gz
cpython-6012f30beff7fa8396718dfb198ccafc333c565b.tar.bz2
bpo-39850: Add support for abstract sockets in multiprocessing (GH-18866)
Diffstat (limited to 'Lib/multiprocessing/forkserver.py')
-rw-r--r--Lib/multiprocessing/forkserver.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/multiprocessing/forkserver.py b/Lib/multiprocessing/forkserver.py
index 87ebef6..215ac39 100644
--- a/Lib/multiprocessing/forkserver.py
+++ b/Lib/multiprocessing/forkserver.py
@@ -55,7 +55,8 @@ class ForkServer(object):
os.waitpid(self._forkserver_pid, 0)
self._forkserver_pid = None
- os.unlink(self._forkserver_address)
+ if not util.is_abstract_socket_namespace(self._forkserver_address):
+ os.unlink(self._forkserver_address)
self._forkserver_address = None
def set_forkserver_preload(self, modules_names):
@@ -135,7 +136,8 @@ class ForkServer(object):
with socket.socket(socket.AF_UNIX) as listener:
address = connection.arbitrary_address('AF_UNIX')
listener.bind(address)
- os.chmod(address, 0o600)
+ if not util.is_abstract_socket_namespace(address):
+ os.chmod(address, 0o600)
listener.listen()
# all client processes own the write end of the "alive" pipe;