Page MenuHomePhabricator

No OneTemporary

diff --git a/sylk-server b/sylk-server
index 7d7f114..2d9e3e1 100644
--- a/sylk-server
+++ b/sylk-server
@@ -1,106 +1,106 @@
#!/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')
+ parser.add_option('--debug-memory', action='store_true', dest='debug_memory', default=False,
+ help='enable memory debugging (works only if --no-fork is specified')
(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)
- if not options.fork and DEBUG:
+ if not options.fork and options.debug_memory:
from application.debug.memory import memory_dump
from sylk.server import SylkServer
server = SylkServer()
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(options)
except Exception, e:
log.fatal("failed to run %s: %s" % (fullname, e))
log.err()
sys.exit(1)
else:
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)
- if not options.fork and DEBUG:
+ if not options.fork and options.debug_memory:
print "---------------------"
memory_dump()
print "---------------------"
sys.exit(int(server.failed))
if __name__ == "__main__":
main()

File Metadata

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

Event Timeline