Closed planetis-m closed 1 year ago
Makes no sense to me. When the destructor runs we know that m.runningTasks == 0
which means a thread cannot read/write to the condition variable anymore.
The sanitizer doesn't understand POSIX signals.
I ended up listening to you anyway because the M1 wasn't happy with the signals outside of the locks and it's faster this way for common pthread implementations because they employ a specific optimization for this case.
This error pops up when running the tests with threadsanitizer. command:
nim c --cc:clang -d:useMalloc -t:"-fsanitize=thread" -l:"-fsanitize=thread" -d:nosignalhandler -d:release -g test1