Re: `pg_ctl init` crashes when run concurrently; semget(2) suspected
От | Thomas Munro |
---|---|
Тема | Re: `pg_ctl init` crashes when run concurrently; semget(2) suspected |
Дата | |
Msg-id | CA+hUKGKAPR=NXxMTCmEomCUpq+mrPLDVyfVa4bKZqfDjwyzD7Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: `pg_ctl init` crashes when run concurrently; semget(2) suspected (Thomas Munro <thomas.munro@gmail.com>) |
Ответы |
Re: `pg_ctl init` crashes when run concurrently; semget(2) suspected
|
Список | pgsql-hackers |
On Wed, Aug 13, 2025 at 11:29 AM Thomas Munro <thomas.munro@gmail.com> wrote: > FWIW in early prototype multithreading patches you can just use > sem_init() on all these systems since you don't need pshared=1. Oops, I misremembered that. It works on NetBSD and OpenBSD, but not macOS :-(. Hmm, but it looks like there has been a new development in macOS 15. They have finally made the futex API public: https://developer.apple.com/documentation/os/os_sync_wait_on_address That was one of the sticking points for my patch that added our own replacement sem_init() implementation. At the time the only "proper" way to reach the undocumented and undeclared __ulock_wait()/__ulock_wake() functions was to write a module in C++ using std::atomic<int>::wait()/notify(), which I had started to wonder about, but here it is with a shiny new C interface and documentation. Maybe I should have another go at that!
В списке pgsql-hackers по дате отправления: