Re: AOO plugin for PD on SGI Irix
Christof Ressi via Pd-list <[email protected]> Sat, 25 Jul 2026 20:12:15 +0900
| Newsgroups | gmane.comp.multimedia.puredata.general |
|---|---|
| Message-ID | <[email protected]> |
Thanks for checking! > So I wrote a test that does an exclusive write lock/unlock and a couple of concurrent shared reader locks, it worked when just run without repetition. When repeating it a thousand times, I started to see once in a while when it seemingly randomly missed to get a reader lock. I'm not sure I understand your test case. When you grab an exclusive lock, it is expected that you can't get a shared lock concurrently. What you should do instead is repeatedly obtaining short reader try-locks from several threads and see if any of them fail. If that test still fails, it confirms our shared suspicion that it is a bug in the MIPS pthread implementation. (I'm pretty sure std::shared_mutext just uses pthread_rw_lock under the hood. If you have time, you can try to verify that.) Christof On 7/21/2026 12:28 AM, Wolfgang Gaggl via Pd-list wrote: > I checked, AOO_HAVE_PTHREAD_RWLOCK is set true. > I also intentionally failed this test to get mutex implementation, same behavior (maybe a bit worse in performance). > > So I wrote a test that does an exclusive write lock/unlock and a couple of concurrent shared reader locks, it worked when just run without repetition. When repeating it a thousand times, I started to see once in a while when it seemingly randomly missed to get a reader lock. > > This looks like a bug in the newer GCC pthread implementation for legacy MIPS (needed for C++11/17). > Atomics and locks work with the native MIPSpro compiler, which however can only do C99/C++98. > > The workaround above works because if it misses that shared lock once in many executions only, a repeat try catches it without adding much computational overhead. > > Maybe I find a better solution at some point, or some platform specific compiler flag optimization that improve/fix it. > > Thanks for your debug suggestions! > --- > [email protected] - the Pure Data mailinglist > https://lists.iem.at/hyperkitty/list/[email protected]/message/O4T6IFNXJAOC2ESOQ7DGKTT6H73RDUPY/ > > To unsubscribe send an email to [email protected] mailing list > UNSUBSCRIBE and account-management -> https://lists.iem.at/ > --- [email protected] - the Pure Data mailinglist https://lists.iem.at/hyperkitty/list/[email protected]/message/UDZ2ED7KZ2Y5C4453QU2WLM5IDB2WMOR/ To unsubscribe send an email to [email protected] mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/