Re: Using a latch between a background worker process and a thread
От | Robert Haas |
---|---|
Тема | Re: Using a latch between a background worker process and a thread |
Дата | |
Msg-id | CA+TgmobB0Tu86G-USE5dHbwv9gvQ1ewzE+pX-H4Qa6RZsEXRSg@mail.gmail.com обсуждение исходный текст |
Ответ на | Using a latch between a background worker process and a thread (Abbas Butt <abbas.butt@enterprisedb.com>) |
Ответы |
Re: Using a latch between a background worker process and a thread
|
Список | pgsql-hackers |
On Tue, Nov 1, 2016 at 12:35 PM, Abbas Butt <abbas.butt@enterprisedb.com> wrote: > Hi, > Consider this situation: > 1. I have a background worker process. > 2. The process creates a latch, initializes it using InitLatch & resets it. > 3. It then creates a thread and passes the latch created in step 2 to it. > To pass it, the process uses the last argument of pthread_create. > 4. The thread blocks by calling WaitLatch. > 5. The process after some time sets the latch using SetLatch. > > The thread does not notice that the latch has been set and keeps waiting. > > My question is: > Are latches supposed to work between a process and a thread created by that > process? Nothing in the entire backend is guaranteed to work if you spawn multiple threads within the same process. Including this. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: