
"Incidentally, underscore followed by a capital letter is reserved to the implementation and you're not supposed to use such identifiers." Yeah, people have been telling me that for 35 years of writing C++ - the fact is that the compiler mangles every single name - as you well know... I literally have never encountered a single problem due to my coding style. Yeah, the pattern looks correct to me as well - I mean if the m_cv and m_cvMutex are passing then the thread should exit, no? It seems foolproof - the code that is - no reason it shouldn't exit the cleanup thread. I'd love for someone to poke holes in this theory. bien ________________________________ From: Peter Dimov <pdimov@gmail.com> Sent: Friday, April 26, 2024 11:25 AM To: 'David Bien' <davidbien@hotmail.com>; boost@lists.boost.org <boost@lists.boost.org> Subject: RE: [boost] BOOST_THREAD_HAS_EINTR_BUG... David Bien wrote:
Sure, but then there must be a bug in my code... do you see one? It's pretty simple - and once again has worked for many weeks of testing under other platforms.
No, I don't see a bug in the code you posted. (Assuming that m_thread is joinable and executes _CleanupThread.) Incidentally, underscore followed by a capital letter is reserved to the implementation and you're not supposed to use such identifiers.
________________________________
From: Peter Dimov <pdimov@gmail.com> Sent: Friday, April 26, 2024 11:15 AM To: 'David Bien' <davidbien@hotmail.com>; boost@lists.boost.org <boost@lists.boost.org> Subject: RE: [boost] BOOST_THREAD_HAS_EINTR_BUG...
David Bien wrote:
When it aborts the return is EBUSY.
EBUSY means that you're destroying a locked mutex, so the abort is legitimate.