diff options
| author | drebs <drebs@riseup.net> | 2017-11-20 11:13:53 -0200 | 
|---|---|---|
| committer | drebs <drebs@riseup.net> | 2017-11-20 11:21:27 -0200 | 
| commit | d74f27b75d69c37fac1587930508da6cd953f33c (patch) | |
| tree | 0414d1447ba960562f26c3c3c1b8af86ee2bc78f /src | |
| parent | 642541e2ab7f0c7eacd45ba013221e43db19fd7f (diff) | |
[bug] log and exit on server startup errors
Some errors during server startup could leave the server in a zombie
state (running, but not listening). This commit makes sure the server
stops if errors occur during deferreds created on server startup.
Closes #8997.
Diffstat (limited to 'src')
| -rw-r--r-- | src/leap/soledad/server/app.py | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/src/leap/soledad/server/app.py b/src/leap/soledad/server/app.py index 725b1383..77d3a1cd 100644 --- a/src/leap/soledad/server/app.py +++ b/src/leap/soledad/server/app.py @@ -39,6 +39,12 @@ def _exit(status):      reactor.stop() +def _log_and_exit(failure): +    logger.error('Error while starting up server: %r' +                 % failure.getErrorMessage()) +    _exit(20) + +  #  # necessary checks  # @@ -124,6 +130,7 @@ def run(application):      d = check_schema_versions(conf['couch_url'])      d.addCallback(lambda _: create_services(local_port, public_port,                                              application)) +    d.addErrback(_log_and_exit)  application = service.Application('soledad-server') | 
