|
Lines 76-93
class MyRequestHandler(SocketServer.BaseRequestHandler):
Link Here
|
| 76 |
pass |
76 |
pass |
| 77 |
|
77 |
|
| 78 |
|
78 |
|
| 79 |
class ForkingTCPServer(SocketServer.ForkingTCPServer): |
79 |
class ForkingServer(SocketServer.UnixStreamServer, SocketServer.ForkingMixIn): |
| 80 |
|
80 |
|
| 81 |
"""UDM server listening on UNIX socket.""" |
81 |
"""UDM server listening on UNIX socket.""" |
| 82 |
address_family = socket.AF_UNIX |
82 |
address_family = socket.AF_UNIX |
| 83 |
allow_reuse_address = 1 |
|
|
| 84 |
|
| 85 |
def server_bind(self): |
| 86 |
SocketServer.TCPServer.server_bind(self) |
| 87 |
_host, port = self.socket.getsockname()[:2] |
| 88 |
self.server_name = 'localhost' # socket.getfqdn(host) |
| 89 |
self.server_port = port |
| 90 |
|
| 91 |
|
83 |
|
| 92 |
def server_main(args): |
84 |
def server_main(args): |
| 93 |
"""UDM command line server.""" |
85 |
"""UDM command line server.""" |
|
Lines 138-144
def server_main(args):
Link Here
|
| 138 |
ud.debug(ud.ADMIN, ud.WARN, 'daemon [%s] baseconfig key directory/manager/cmd/timeout not set, setting to default (%s seconds)' % (os.getpid(), timeout)) |
130 |
ud.debug(ud.ADMIN, ud.WARN, 'daemon [%s] baseconfig key directory/manager/cmd/timeout not set, setting to default (%s seconds)' % (os.getpid(), timeout)) |
| 139 |
|
131 |
|
| 140 |
try: |
132 |
try: |
| 141 |
sock = ForkingTCPServer(socket_path, MyRequestHandler) |
133 |
sock = ForkingServer(socket_path, MyRequestHandler) |
| 142 |
os.chmod(socket_path, 0o600) |
134 |
os.chmod(socket_path, 0o600) |
| 143 |
except: |
135 |
except: |
| 144 |
print >> sys.stderr, 'E: Failed creating socket (%s). Daemon stopped.' % socket_path |
136 |
print >> sys.stderr, 'E: Failed creating socket (%s). Daemon stopped.' % socket_path |
|
Lines 153-158
def server_main(args):
Link Here
|
| 153 |
except IOError: |
145 |
except IOError: |
| 154 |
print >> sys.stderr, 'E: Can`t write runfile' |
146 |
print >> sys.stderr, 'E: Can`t write runfile' |
| 155 |
|
147 |
|
|
|
148 |
signal.signal(signal.SIGTERM, lambda s, f: sys.exit(1)) |
| 156 |
try: |
149 |
try: |
| 157 |
while True: |
150 |
while True: |
| 158 |
rlist, _wlist, _xlist = select([sock], [], [], float(timeout)) |
151 |
rlist, _wlist, _xlist = select([sock], [], [], float(timeout)) |