Re: [HACKERS] [PATCHES] fork/exec patch - Mailing list pgsql-hackers-win32

From Tom Lane
Subject Re: [HACKERS] [PATCHES] fork/exec patch
Date
Msg-id 28280.1071676565@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] [PATCHES] fork/exec patch  ("Magnus Hagander" <mha@sollentuna.net>)
List pgsql-hackers-win32
"Magnus Hagander" <mha@sollentuna.net> writes:
> The difference is that if you fire the entire signal handler on the
> different thread, which means they can execute concurrently. That won't
> happen on Unix AFAIK - the main executino is stopped, right? So the
> "main thread" could change a variable while the signal handler is still
> executing - this can never happen in Unix when the signal handler
> executes, because the main thread is stopped?

Hm, good point.  There probably are some issues there for the more
complex signal handlers; they definitely assume nothing is changing
underneath them.

> An option would be to SuspendThread() on the main thread, which freezes
> it completely durnig the execution of the signal. If necessary, are we
> safe against that? (Basically, SuspendThread() will suspend a thread
> even if it's inside a kernel call.

Why would that be a problem?

            regards, tom lane

pgsql-hackers-win32 by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: [HACKERS] [PATCHES] fork/exec patch
Next
From: "Merlin Moncure"
Date:
Subject: Re: [HACKERS] [PATCHES] fork/exec patch