Re: [HACKERS] [PATCHES] fork/exec patch
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] [PATCHES] fork/exec patch |
Дата | |
Msg-id | 200312170129.hBH1TN827382@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] [PATCHES] fork/exec patch ("Magnus Hagander" <mha@sollentuna.net>) |
Список | pgsql-hackers-win32 |
Having read through this massive thread, I concluded the CONNX signal stuff is the way to go. Where there any Win32 TODO items in there? I didn't see any. --------------------------------------------------------------------------- Magnus Hagander wrote: > >>>Isn't WaitForSingleObject() in effect a polling call? > >>> > >>> > >>It puts your thread to sleep, until it gets woken up by the handle > >>you're waiting on being set to a signalled state. > >> > >> > >> > > > >Right. Just like select() puts your thread to sleep until one of its > >files is ready (or it times out). > > > >Do we have a terminology problem here? > > > >The point is that, unlike classic Unix signal programming, you need > >*something* that explicitly checks for the event. It could be > >a separate > >thread in a tight loop, which is what the CONNX code appears to do, or > >it could conceivably be something else in the main thread with a very > >short timeout. > > Yes, if you include the wait...() in the tight loop, which means it will > spend 99.999% of it's time in sleeping state (kernel blocked). But yes, > in some way it has to go back into the main thread. Either through some > kind of polling or through exception. Unless the handlers are > threadsafe. > > > I know at least the SIGHUP handler in pgsql (backend/tcop/postgres.c) > just sets a flag in the signal handler, which could be easily protected > (this flag is polled in the main loop). The comments seem to indicate > the idea that complex signal handlers = bad. I guess we need to check > out the other signal handlers - if they're that easy, then it's a > non-point and they can really easy be made thread-safe. > > //Magnus > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-hackers-win32 по дате отправления: