Magnus Hagander wrote:
>I think we agreed that we'd go with the polling method if it worked well
>enough, so we don't need a kernel driver. If that doesn't work out, the
>kernel driver would be the fallback method.
I think your code has almost certainly ruled out any necessity for a
kernel mode driver.
>Hmm. Depending on how often we need to poll (meaning how often we need
>to deliver signals), perhaps we can go with the WFSOEx method anyway.
>The code would be slightly easier:
>I've attached a version that uses this one instead.
>(You'd probably move the WaitFor()... call into the #define as well)
>Looking at this code, I'm thinking we can probably do away with the
>critical section alltogether. All that code now executes on the main
>thread. Does this seem correct?
I understood your first version better than I understand this one. What
calls __pg_poll_signals()? As I understand the first version, we
wouldn't need to put any polling calls into the main thread code - the
signal detector would just queue a call to pg_signal_apc() on the main
thread as needed, which would in turn do some cleanup and call the
signal handler. That seems to me to be *very* clean and nice. Am I
missing something? (As you can no doubt tell, IANAWP :-) )
BTW, well done!
In response to
pgsql-hackers-win32 by date
|Next:||From: Claudio Natoli||Date: 2004-01-09 00:14:18|
|Subject: Re: Signals on Win32 (yet again)|
|Previous:||From: Andrew Dunstan||Date: 2004-01-08 22:53:20|
|Subject: Re: Win32 signal code - first try|