You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Write a test case in the UnifiedBackendTest which calls open() on the same device in different threads concurrently. This should be done once to actually open the backend, and once more to recover from an exception.
The idea is to check whether the underlying flags (usually _isOpened and _hasActiveException, but this is of course implementation dependent) are, if they exist, thread safe (e.g. atomics or protected by a mutex).
The main indication for this bug would then be that TSAN finds a data race (because it is rather unlikely for this to actually go wrong). Hence make sure (by reintroducing the bug in one of the backends) that TSAN actually complains if the bug exisits.
The text was updated successfully, but these errors were encountered:
Write a test case in the UnifiedBackendTest which calls open() on the same device in different threads concurrently. This should be done once to actually open the backend, and once more to recover from an exception.
The idea is to check whether the underlying flags (usually _isOpened and _hasActiveException, but this is of course implementation dependent) are, if they exist, thread safe (e.g. atomics or protected by a mutex).
The main indication for this bug would then be that TSAN finds a data race (because it is rather unlikely for this to actually go wrong). Hence make sure (by reintroducing the bug in one of the backends) that TSAN actually complains if the bug exisits.
The text was updated successfully, but these errors were encountered: