ipmpsc
ipmpsc copied to clipboard
Queue seems deadlocked in certain scenarios
Sorry for the vagueness of this issue, I am looking for help in troubleshooting my queue.
I've started using this crate to pass logs from multiple processes into a single sink (with a single consumer). After an unknown sequence of events which involve crashes, a laptop going to sleep, etc. it seems like the queue becomes stuck.
I am assuming this is because something acquired a write lock and then never released it. I've been reading that using pthread_mutexattr_setrobust might help in detecting "dead owners"? This only works on linux, so something else would be required for macos and windows.
Either way, can I manually, unsafely, unlock it? Possibly by forcing the unlock steps from another process?