From 58068f0a455b05a17a537cee2cb73115d049ba27 Mon Sep 17 00:00:00 2001 From: Adam Blackburn Date: Sat, 2 Jan 2010 21:27:41 -1000 Subject: [PATCH] restore old resolv.conf file on -k instead of sigterm --- wicd/wicd-daemon.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/wicd/wicd-daemon.py b/wicd/wicd-daemon.py index b764963..1dc22fd 100644 --- a/wicd/wicd-daemon.py +++ b/wicd/wicd-daemon.py @@ -1744,6 +1744,14 @@ def main(argv): except: #print >> sys.stderr, "No wicd instance active, aborting." sys.exit(1) + + # restore resolv.conf on quit + try: + shutil.move(wpath.varlib + 'resolv.conf.orig', '/etc/resolv.conf') + except IOError: + print 'error restoring resolv.conf' + + # connect to dbus, trigger a disconnect, then knock out the daemon from wicd import dbusmanager bus = dbusmanager.connect_to_dbus() dbus_ifaces = dbusmanager.get_dbus_ifaces() @@ -1752,6 +1760,8 @@ def main(argv): f.close() os.kill(pid,signal.SIGTERM) + # quit, this should be the only option specified + sys.exit(0) if do_daemonize: daemonize() @@ -1804,12 +1814,6 @@ def main(argv): def on_exit(child_pid): """ Called when a SIGTERM is caught, kills monitor.py before exiting. """ - # restore resolv.conf on quit - try: - shutil.move(wpath.varlib + 'resolv.conf.orig', '/etc/resolv.conf') - except IOError: - print 'error restoring resolv.conf' - if child_pid: print 'Daemon going down, killing wicd-monitor...' try: