Re: Win32 signal code - first try
От | Andrew Dunstan |
---|---|
Тема | Re: Win32 signal code - first try |
Дата | |
Msg-id | 3FFDE9D8.5020408@dunslane.net обсуждение исходный текст |
Ответ на | Re: Win32 signal code - first try ("Magnus Hagander" <mha@sollentuna.net>) |
Список | pgsql-hackers-win32 |
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! cheers andrew
В списке pgsql-hackers-win32 по дате отправления: