BUG in pg_autovacuum - with patch

From: Karl Denninger <karl(at)denninger(dot)net>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG in pg_autovacuum - with patch
Date: 2005-04-02 03:14:40
Message-ID: 20050401211440.A44161@denninger.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi folks.

There's a problem in the console detach code for pg_autovacuum.

"setsid()" is NOT sufficient. Specifically, you must disassociate the
control terminal (standard in, out and error) for it to be complete.

This causes any attempt to execute pg_autovacuum from the cron to hang the
cron processor, stalling it.

Find below a diff that fixes the problem and allows proper disassociation:

*** pg_autovacuum.c.old Fri Apr 1 21:13:22 2005
--- pg_autovacuum.c Fri Apr 1 20:55:41 2005
***************
*** 196,201 ****
--- 196,202 ----
daemonize(void)
{
pid_t pid;
+ int i;

pid = fork();
if (pid == (pid_t) -1)
***************
*** 219,224 ****
--- 220,230 ----
fflush(LOGOUTPUT);
_exit(1);
}
+ i = open(NULL_DEV, O_RDWR);
+ dup2(i, 0);
+ dup2(i, 1);
+ dup2(i, 2);
+ close(i);
#endif

}

--
--
Karl Denninger (karl(at)denninger(dot)net) Internet Consultant & Kids Rights Activist
http://www.denninger.net My home on the net - links to everything I do!
http://scubaforum.org Your UNCENSORED place to talk about DIVING!
http://www.spamcuda.net SPAM FREE mailboxes - FREE FOR A LIMITED TIME!
http://genesis3.blogspot.com Musings Of A Sentient Mind

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Juan Pablo Espino 2005-04-02 05:39:26 pg_restore - Windows 2000
Previous Message Michael Fuhr 2005-04-01 23:03:53 Re: Segfault in 8.0.2beta1