diff options
author | Tommie Gannert <tommie@spotify.com> | 2013-09-10 11:55:07 +0200 |
---|---|---|
committer | Tommie Gannert <tommie@spotify.com> | 2013-09-10 11:56:37 +0200 |
commit | c6378e03bfb861fb77dacc68a05fb26d7a534180 (patch) | |
tree | 2a644028075dd4e67807ae846e57ac0c9507ff9f | |
parent | 097e0bfe5b8f9b64e38c6496160bf346411e0ff3 (diff) | |
download | py-amqp-c6378e03bfb861fb77dacc68a05fb26d7a534180.tar.gz |
Set FD_CLOEXEC on opened sockets.
Since py-amqp doesn't support resuming operation from just a
file descriptor, there is no use in leaving it open after execve(2).
-rw-r--r-- | amqp/transport.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/amqp/transport.py b/amqp/transport.py index 6b17757..a196bec 100644 --- a/amqp/transport.py +++ b/amqp/transport.py @@ -22,6 +22,7 @@ Read/Write AMQP frames over network transports. from __future__ import absolute_import import errno +import fcntl import re import socket @@ -99,6 +100,7 @@ class _AbstractTransport(object): # Didn't connect, return the most recent error message raise socket.error(last_err) + fcntl.fcntl(self.sock, fcntl.F_SETFD, fcntl.fcntl(self.sock, fcntl.F_GETFD) | fcntl.FD_CLOEXEC) self.sock.settimeout(None) self.sock.setsockopt(SOL_TCP, socket.TCP_NODELAY, 1) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) |