Subject: Re: SIGTERM does not stop backend postgres processes immediately
From: Jason Tishler <[email-masked]>
To: Fred Yankowski <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Wed, 9 May 2001 14:26:29 -0400

Fred,

On Wed, May 09, 2001 at 09:40:31AM -0500, Fred Yankowski wrote:
> The problem I'm seeing, where a postgres backend process doesn't react
> immediately to SIGTERM, occurs even when there is only one such
> backend process, so this may be a different problem from the one
> described in those earlier threads and recently fixed in CVS.

This is my assessment too.

> I'm seeing this problem as I test my patch for running postgres as an
> NT service.  But I just tried running postmaster directly from the
> shell and I see the same problem.

I was able to reproduce your finding under Cygwin too.  When I repeated
the experiment under Linux, postmaster shutdown as expected.

> I know from inserting printfs into the backend code that the SIGTERM
> signal handler function is not being called right after the stop
> request.  Rather, it is called only after the backend gets some data
> over its input socket connection, from that "\d" in did in pg_ctl in
> this case.  It seems that the recv() call deep in the backend code
> does not get interrupted by the SIGTERM.

IMO, you have found a Cygwin bug.  Please report it to the Cygwin list.
Hopefully, Mr. Signal is listening and will jump into action...
Can you produce a minimal test case that demonstrates the problem?

> On Tue, May 08, 2001 at 10:05:19PM -0400, Jason Tishler wrote:
> > However, I have not built PostgreSQL with Cygwin 1.3.1 -- I have only run
> > it against Cygwin 1.3.1.  What happens when you run make check?  Does the
> > postmaster exit cleanly at the end of the regression test as expected?
> 
> I'm a little confused about the distinction you're making between
> "Cygwin 1.3.1" and "Cygwin 1.3.1".  ;-)

Sorry, for being unclear.  What I was trying to say was that my builds
of PostgreSQL are really against Cygwin 1.1.8 (with only cygwin1.dll
replaced to workaround the mmap/fork problem).  I have never built
against Cygwin 1.3.1.  However, I do run against Cygwin 1.3.1 on one of
my test machines.

> Anyway, "make check" completes without any errors.  No apparent hangs.

Which again confirms that this is a different and yet to be solved
problem.

Jason

-- 
Jason Tishler
Director, Software Engineering       Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corp.               Fax:   +1 (732) 264-8798
82 Bethany Road, Suite 7             Email: [email-masked]
Hazlet, NJ 07730 USA                 WWW:   http://www.dothill.com

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple