Re: [PATCHES] Win32 CHECK_FOR_INTERRUPTS() performance
От | Qingqing Zhou |
---|---|
Тема | Re: [PATCHES] Win32 CHECK_FOR_INTERRUPTS() performance |
Дата | |
Msg-id | Pine.LNX.4.58.0510231626030.17114@josh.db обсуждение исходный текст |
Ответ на | Re: [PATCHES] Win32 CHECK_FOR_INTERRUPTS() performance ("Magnus Hagander" <mha@sollentuna.net>) |
Список | pgsql-hackers |
On Sun, 23 Oct 2005, Magnus Hagander wrote: > > But. in theory, we can get a false positive from > UNBLOCKED_SIGNAL_QUEUE(), right? Since we do it unlocked between two > threads. If we do that, we'll "recover" in dispatch_signals, because > we'l lcheck again locked and not dispatch any signals. *but*. If this > happens, we will return EINTR even when there is no signal. That doesn't > seem correct to me. It's a very small window, but it should be possible, > no? > > We probably need an actual check, so for example have > dispatch_queued_signals return a value indicating if any signals were > actually dispatched, and use that to control EINTR? > > Comments? Or am I completely off being too tired right now? ;-) > You are not. Basically that's what I just sent an email about :-) Since signals are not quite often happened, so I am thinking just adding a UNBLOCKED_SIGNAL_QUEUE() is more safe maybe for now. Regards, Qingqing
В списке pgsql-hackers по дате отправления: