summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Saddi <allan@saddi.com>2005-12-19 20:49:05 +0000
committerAllan Saddi <allan@saddi.com>2005-12-19 20:49:05 +0000
commit8e6316ad62fafe56ff0776ce7718e9b293f61349 (patch)
tree1f1252efd9e70fc31853dadc6d1f0b519faad448
parentdd057abf779957bb73443ba791dd504ede90486a (diff)
downloadflup-8e6316ad62fafe56ff0776ce7718e9b293f61349.tar.gz
Fix socket leak in eunuchs socketpair() wrapper.
-rw-r--r--ChangeLog5
-rw-r--r--flup/server/preforkserver.py5
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c718971..5697c5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-19 Allan Saddi <asaddi@kalahari.flup.org>
+
+ * Fix socket leak in eunuchs socketpair() wrapper. Thanks to
+ Georg Bauer for pointing this out.
+
2005-12-16 Allan Saddi <asaddi@kalahari.flup.org>
* Switch to setuptools for egg support.
diff --git a/flup/server/preforkserver.py b/flup/server/preforkserver.py
index e9c96d6..d8c32a0 100644
--- a/flup/server/preforkserver.py
+++ b/flup/server/preforkserver.py
@@ -45,8 +45,11 @@ if not hasattr(socket, 'socketpair'):
def socketpair():
s1, s2 = eunuchs.socketpair.socketpair()
- return (socket.fromfd(s1, socket.AF_UNIX, socket.SOCK_STREAM),
+ p, c = (socket.fromfd(s1, socket.AF_UNIX, socket.SOCK_STREAM),
socket.fromfd(s2, socket.AF_UNIX, socket.SOCK_STREAM))
+ os.close(s1)
+ os.close(s2)
+ return p, c
socket.socketpair = socketpair