Re: Mixing threaded and non-threaded
От | Bruce Momjian |
---|---|
Тема | Re: Mixing threaded and non-threaded |
Дата | |
Msg-id | 200401302253.i0UMrug24137@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: Mixing threaded and non-threaded (Scott Lamb <slamb@slamb.org>) |
Ответы |
Re: Mixing threaded and non-threaded
|
Список | pgsql-hackers |
Scott Lamb wrote: > Scott Lamb wrote: > > You could just do a pthread_sigmask() before and after the > > pthread_setspecific() to guarantee that no SIGPIPE will arrive on that > > thread in that time. I think it's pretty safe to assume that as long as > > you're not doing a pthread_[gs]etspecific() on that same pthread_key_t, > > it's safe. > > 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. -- 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 по дате отправления: