Page MenuHomePhabricator

No OneTemporary

diff --git a/sylk-server b/sylk-server
index f7032eb..7b1d81f 100755
--- a/sylk-server
+++ b/sylk-server
@@ -1,107 +1,109 @@
#!/usr/bin/env python
# Copyright (C) 2010-2011 AG Projects. See LICENSE for details
#
import os
import signal
import sys
from optparse import OptionParser
from application import log
from application.process import process, ProcessError
+from sipsimple import __version__ as sipsimple_version
import sylk
DEBUG = False
def main():
name = 'sylk-server'
fullname = 'SylkServer'
runtime_directory = '/var/run/sylkserver'
system_config_directory = '/etc/sylkserver'
default_pid = os.path.join(runtime_directory, 'server.pid')
default_config = sylk.configuration_filename if os.path.isfile(sylk.configuration_filename) else os.path.join(system_config_directory, sylk.configuration_filename)
parser = OptionParser(version='%%prog %s' % sylk.__version__)
parser.add_option('--no-fork', action='store_false', dest='fork', default=1,
help='run the process in the foreground (for debugging)')
parser.add_option('--pid', dest='pid_file',
help='pid file ("%s")' % default_pid, metavar='File')
parser.add_option('--config-file', dest='config_file', default=default_config,
help='path to configuration file to read ("%s")' % default_config,
metavar='File')
parser.add_option('--enable-bonjour', action='store_true', dest='enable_bonjour', default=False,
help='enable Bonjour services')
(options, args) = parser.parse_args()
path, configuration_filename = os.path.split(options.config_file)
if path:
system_config_directory = path
process.system_config_directory = system_config_directory
sylk.configuration_filename = process.config_file(options.config_file)
pid_file = options.pid_file or default_pid
# when run in foreground, do not require root access because of /var/run/sylkserver
if not options.fork:
process._runtime_directory = None
else:
try:
process.runtime_directory = runtime_directory
process.daemonize(pid_file)
except ProcessError, e:
log.fatal("Cannot start %s: %s" % (fullname, e))
sys.exit(1)
log.start_syslog(name)
if sylk.configuration_filename:
log.msg("Starting %s %s, config=%s" % (fullname, sylk.__version__, sylk.configuration_filename))
else:
log.msg("Starting %s %s, with no configuration file" % (fullname, sylk.__version__))
+ log.msg("Using SIP SIMPLE SDK version %s" % sipsimple_version)
try:
if not options.fork and DEBUG:
from application.debug.memory import memory_dump
from sylk.server import SylkServer
server = SylkServer()
except Exception, e:
log.fatal("failed to create %s: %s" % (fullname, e))
log.err()
sys.exit(1)
def stop_server(*args):
if not server.stopping_event.is_set():
log.msg('Stopping SylkServer...')
server.stop()
process.signals.add_handler(signal.SIGTERM, stop_server)
process.signals.add_handler(signal.SIGINT, stop_server)
try:
server.start()
while not server.stopping_event.wait(9999):
pass
server.stop_event.wait(5)
if server.stop_event.is_set():
log.msg("%s stopped" % fullname)
else:
log.msg('Forcefully exiting SylkServer...')
os._exit(1)
except Exception, e:
log.fatal("failed to run %s: %s" % (fullname, e))
log.err()
sys.exit(1)
if not options.fork and DEBUG:
print "---------------------"
memory_dump()
print "---------------------"
if __name__ == "__main__":
main()

File Metadata

Mime Type
text/x-diff
Expires
Sat, Nov 23, 3:15 AM (13 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3408639
Default Alt Text
(3 KB)

Event Timeline