|
Lines 38-43
Defines the basic class for an UMC server.
Link Here
|
| 38 |
import os |
38 |
import os |
| 39 |
import errno |
39 |
import errno |
| 40 |
import fcntl |
40 |
import fcntl |
|
|
41 |
import signal |
| 41 |
import socket |
42 |
import socket |
| 42 |
import resource |
43 |
import resource |
| 43 |
import traceback |
44 |
import traceback |
|
Lines 371-376
class Server(signals.Provider):
Link Here
|
| 371 |
self._child_number = process.fork_processes(self.__processes, 0) |
372 |
self._child_number = process.fork_processes(self.__processes, 0) |
| 372 |
except RuntimeError as exc: |
373 |
except RuntimeError as exc: |
| 373 |
CORE.warn('Child process died: %s' % (exc,)) |
374 |
CORE.warn('Child process died: %s' % (exc,)) |
|
|
375 |
os.kill(os.getpid(), signal.SIGTERM) |
| 374 |
raise SystemExit(str(exc)) |
376 |
raise SystemExit(str(exc)) |
| 375 |
if self._child_number is not None: |
377 |
if self._child_number is not None: |
| 376 |
self._children[self._child_number] = os.getpid() |
378 |
self._children[self._child_number] = os.getpid() |
|
Lines 448-454
class Server(signals.Provider):
Link Here
|
| 448 |
|
450 |
|
| 449 |
if self._child_number is not None: |
451 |
if self._child_number is not None: |
| 450 |
self._children.pop(self._child_number, None) |
452 |
self._children.pop(self._child_number, None) |
| 451 |
self._child_number = None |
|
|
| 452 |
|
453 |
|
| 453 |
if self.__ssl and self.__port: |
454 |
if self.__ssl and self.__port: |
| 454 |
notifier.socket_remove(self.connection) |
455 |
notifier.socket_remove(self.connection) |
|
Lines 462-468
class Server(signals.Provider):
Link Here
|
| 462 |
notifier.socket_remove(self.__realunixsocket) |
463 |
notifier.socket_remove(self.__realunixsocket) |
| 463 |
self.__realunixsocket.close() |
464 |
self.__realunixsocket.close() |
| 464 |
self.__realunixsocket = None |
465 |
self.__realunixsocket = None |
| 465 |
if os.path.exists(self.__unix): |
466 |
if self._child_number is not None and os.path.exists(self.__unix): |
| 466 |
os.unlink(self.__unix) |
467 |
os.unlink(self.__unix) |
| 467 |
self.__unix = None |
468 |
self.__unix = None |
| 468 |
|
469 |
|