Re: Mixing threaded and non-threaded

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Mixing threaded and non-threaded
Дата
Msg-id 200401312017.i0VKHDl25581@candle.pha.pa.us
обсуждение исходный текст
Ответ на Mixing threaded and non-threaded  (Steve Atkins <steve@blighty.com>)
Список pgsql-hackers
OK, thanks.

---------------------------------------------------------------------------

Scott Lamb wrote:
> On Jan 30, 2004, at 4:53 PM, Bruce Momjian wrote:
> >> Actually, thinking about this a bit more, that might not even be
> >> necessary. Is SIGPIPE-via-(read|write) synchronous or asynchronous?
> >> (I.e., is the SIGPIPE guaranteed to arrive during the offending system
> >> call?) I was thinking not, but maybe yes. I can't seem to find a
> >> straight answer. A lot of documents seem to confuse thread-directed 
> >> and
> >> synchronous, when they're not quite the same thing. 
> >> SIGALRM-via-alarm()
> >> is thread-directed but obviously asynchronous.
> >
> > SIGPIPE is a sychronous signal that is called during the read() in
> > libpq.  I am not sure what thread-directed is.
> 
> Ahh, then the usage in libpq is safe; sorry for the false alarm. The 
> concerns about signal safety are really only for async signals, as the 
> behavior is undefined only when one async signal-unsafe function is 
> called from a signal interrupting another:
> 
> "In the presence of signals, all functions defined by this volume of 
> IEEE?Std?1003.1-2001 shall behave as defined when called from or 
> interrupted by a signal-catching function, with a single exception: 
> when a signal interrupts an unsafe function and the signal-catching 
> function calls an unsafe function, the behavior is undefined."
> 
> thread-directed, by the way, simply means that the signal is directed 
> at a specific thread, not just some thread in the process that doesn't 
> have it masked. It's the difference between kill() and pthread_kill(). 
> AFAIK, all synchronous signals are thread-directed, but not all 
> thread-directed signals are synchronous.
> 
> Here the signal is synchronous, so the signal is guaranteed to happen 
> at a safe point (during the read()), so there's no problem.
> 
> Thanks,
> Scott Lamb
> 

--  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,
Pennsylvania19073
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: ramirez@idconcepts.org (Edwin S. Ramirez)
Дата:
Сообщение: Update Syntax
Следующее
От: Larry Rosenman
Дата:
Сообщение: Re: Write cache