* Fix daemonisation code to only do daemon setup things after forking the

child process.
master
joey 2006-12-02 00:12:26 +00:00
parent 7d05ff97d3
commit f65fa0ad68
3 changed files with 15 additions and 8 deletions

View File

@ -336,7 +336,7 @@ sub genfeed ($$$$@) { #{{{
} #}}}
sub pingurl (@) { #{{{
return unless $config{pingurl} && %toping;
return unless @{$config{pingurl}} && %toping;
eval q{require RPC::XML::Client};
if ($@) {
@ -345,13 +345,13 @@ sub pingurl (@) { #{{{
}
# daemonize here so slow pings don't slow down wiki updates
eval q{use POSIX setsid};
chdir '/';
open STDIN, '/dev/null';
open STDOUT, '>/dev/null';
defined(my $pid = fork) or error("Can't fork: $!");
return if $pid;
chdir '/';
eval q{use POSIX setsid};
setsid() or error("Can't start a new session: $!");
open STDIN, '/dev/null';
open STDOUT, '>/dev/null';
open STDERR, '>&STDOUT' or error("Cant dup stdout: $!");
# Don't need to keep a lock on the wiki as a daemon.

View File

@ -141,13 +141,13 @@ sub send_commit_mails ($$$@) { #{{{
);
# Daemonize, in case the mail sending takes a while.
defined(my $pid = fork) or error("Can't fork: $!");
return if $pid;
setsid() or error("Can't start a new session: $!");
eval q{use POSIX setsid};
chdir '/';
open STDIN, '/dev/null';
open STDOUT, '>/dev/null';
defined(my $pid = fork) or error("Can't fork: $!");
return if $pid;
setsid() or error("Can't start a new session: $!");
open STDERR, '>&STDOUT' or error("Cant dup stdout: $!");
unlockwiki(); # don't need to keep a lock on the wiki

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
ikiwiki (1.34.3) UNRELEASED; urgency=low
* Fix daemonisation code to only do daemon setup things after forking the
child process.
-- Joey Hess <joeyh@debian.org> Fri, 1 Dec 2006 19:11:32 -0500
ikiwiki (1.34.2) unstable; urgency=low
* Allow /etc/ikiwiki/wikilist to list just the names of users, if so then