Re: BUG in pg_autovacuum - with patch

From: "Matthew T(dot) O'Connor" <matthew(at)zeut(dot)net>
To: Karl Denninger <karl(at)denninger(dot)net>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG in pg_autovacuum - with patch
Date: 2005-04-02 06:50:03
Message-ID: 424E409B.7080307@zeut.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Why would you run pg_autovacuum from cron?

Karl Denninger wrote:

>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
>
> }
>
>
>--
>
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Karl Denninger 2005-04-02 07:07:54 Re: BUG in pg_autovacuum - with patch
Previous Message T.J. 2005-04-02 06:07:11 Windows compilation