Git-Url:
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-tools.git;a=commitdiff;h=e43bdb15cf8d63b032979a10a6e0e5922931699d
commit e43bdb15cf8d63b032979a10a6e0e5922931699d
Author: Miklos Vajna <[EMAIL PROTECTED]>
Date: Fri Sep 19 15:46:45 2008 +0200
syncpkgcd: handle the case when we have to create the pidfile ourselves
diff --git a/syncpkgd/rc.syncpkgcd b/syncpkgd/rc.syncpkgcd
index 4135e21..03f962d 100755
--- a/syncpkgd/rc.syncpkgcd
+++ b/syncpkgd/rc.syncpkgcd
@@ -32,7 +32,7 @@ rc_stop()
stop_msg
if [[ "$(eval $pid)" != "" ]] ; then
kill $(eval $pid)
- : > /var/lock/syncpkgcd.pid
+ rm /var/lock/syncpkgcd.pid
ok $?
else
ok 999
diff --git a/syncpkgd/syncpkgcd.py b/syncpkgd/syncpkgcd.py
index c3060fe..0171017 100644
--- a/syncpkgd/syncpkgcd.py
+++ b/syncpkgd/syncpkgcd.py
@@ -25,14 +25,10 @@ class Syncpkgcd:
def on_sigterm(num, frame):
raise KeyboardInterrupt
signal.signal(signal.SIGTERM, on_sigterm)
- if os.getuid() == 0 and options.uid:
- try:
- os.setuid(int(options.uid))
- except:
- os.setuid(pwd.getpwnam(options.uid).pw_uid)
if options.daemon:
pid = os.fork()
if pid == 0:
+ self.setuid()
os.setpgrp()
nullin = file('/dev/null', 'r')
nullout = file('/dev/null', 'w')
@@ -45,6 +41,8 @@ class Syncpkgcd:
except:
pass
sys.exit(0)
+ else:
+ self.setuid()
# log
self.logsock = open(options.logfile, "a")
self.log("", "client started")
@@ -80,6 +78,12 @@ class Syncpkgcd:
except Exception:
self.log_exception()
+ def setuid():
+ if os.getuid() == 0 and self.options.uid:
+ try:
+ os.setuid(int(self.options.uid))
+ except:
+ os.setuid(pwd.getpwnam(self.options.uid).pw_uid)
def checkload(self):
if not hasattr(config, "throttle"):
# no limit defined
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git