Issue1222790
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2005-06-17 17:18 by wharbecke, last changed 2022-04-11 14:56 by admin. This issue is now closed.
Messages (5) | |||
---|---|---|---|
msg25563 - (view) | Author: Winfried Harbecke (wharbecke) | Date: 2005-06-17 17:18 | |
The SimpleXMLRPCServer constructor does not set FD_CLOEXEC on the socket that listens for new connections. When the XML RPC server spawns other daemons, and the XML RPC server is stopped before the spawned daemon dies, the spawned daemon will hog the inherited socket and the XML RPC server will be unable to open its listening socket again (ADDR_IN_USE). Since there is no reason why a spawned process should inherit the listen socket, the close-on-exec flag should be used to prevent inheriting the socket to spawned processes. import socket + import fcntl import xmlrpclib ... def __init__(self, addr, ... SocketServer.TCPServer.__init__(self, addr, requestHandler) ! # close on exec - spawned shell should not access the service ! # listen socket ! flags = fcntl.fcntl(self.fileno(), fcntl.F_GETFD) ! flags |= fcntl.FD_CLOEXEC ! fcntl.fcntl(self.fileno(), fcntl.F_SETFD, flags) ! There is a similar fix in the Zope distribution, see http://archives.free.net.ph/message/20030719.201708.f3a aed4d.html |
|||
msg25564 - (view) | Author: Sean Reifschneider (jafo) * ![]() |
Date: 2005-06-29 02:55 | |
Logged In: YES user_id=81797 I don't fully understand the implications of this, but I'd vote for a fix of this as well. It's pretty painful to use the SimpleXMLRPCServer for development because of the wait time required between tests until the OS clears the "in use" flag. I was thining that it was not setting the flag for immediate re-use of the socket, though. Sean |
|||
msg25565 - (view) | Author: Sean Reifschneider (jafo) * ![]() |
Date: 2005-06-29 02:56 | |
Logged In: YES user_id=81797 I don't fully understand the implications of this, but I'd vote for a fix of this as well. It's pretty painful to use the SimpleXMLRPCServer for development because of the wait time required between tests until the OS clears the "in use" flag. I was thining that it was not setting the flag for immediate re-use of the socket, though. Sean |
|||
msg25566 - (view) | Author: Sean Reifschneider (jafo) * ![]() |
Date: 2005-06-29 02:58 | |
Logged In: YES user_id=81797 I don't fully understand the implications of this, but I'd vote for a fix of this as well. It's pretty painful to use the SimpleXMLRPCServer for development because of the wait time required between tests until the OS clears the "in use" flag. I was thining that it was not setting the flag for immediate re-use of the socket, though. Sean |
|||
msg25567 - (view) | Author: A.M. Kuchling (akuchling) * ![]() |
Date: 2005-12-04 15:08 | |
Logged In: YES user_id=11375 Fixed in rev41585. SimpleXMLRPCServer now sets allow_reuse_address to True, and also sets FD_CLOEXEC. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:56:11 | admin | set | github: 42095 |
2005-06-17 17:18:52 | wharbecke | create |