hmurray at megapathdsl.net
Tue Sep 17 09:25:35 UTC 2019
> This is exactly what futexes are for.
Is there a standard recipe for using them in shared memory when the processes
using them can start/stop/crash at any time?
I see 2 problem areas. One is initializing the futex. The other is
recovering from a crash while the futex was busy. (lock locked, or whatever)
The man page for shmget says a new segment is full of 0s. If we assume the
writer will create the segment, it can use a flag in the segment to mark that
whatever a futex needs has been initialized.
I assume the same logic works for a mutex and semaphore so we can do it with
I haven't worked out the details, but it looks like pthread_mutex_lock and
friends return an error if the thread/process owning the mutex crashes.
Using the futex/mutex requires that the reader be able to write the segment.
Thanks for the poke.
These are my opinions. I hate spam.
More information about the devel