theRockLiu / thread-sanitizer

Automatically exported from code.google.com/p/thread-sanitizer
0 stars 0 forks source link

TSan's BackgroundThread may potentially cause deadlocks at fork() #19

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
BackgroundThread is responsible for various repeated jobs like symbolizer cache 
cleanup. If the user program calls fork() when the thread holds a lock, the 
child process may deadlock trying to acquire that lock.

Original issue reported on code.google.com by gli...@google.com on 24 May 2013 at 9:08

GoogleCodeExporter commented 9 years ago
Dima, last time I asked you told me that the background thread doesn't take 
(almost?) any locks. Can you clarify this?
I've also got a crazy idea to restrict the set of locks that the background 
thread is allowed to take, but we can postpone this until a deadlock actually 
happens.

Original comment by gli...@google.com on 2 Dec 2013 at 11:09

GoogleCodeExporter commented 9 years ago
As far as I remember it does not take any locks.

Original comment by dvyu...@google.com on 2 Dec 2013 at 11:18

GoogleCodeExporter commented 9 years ago
Yes, it does not take any locks.

Original comment by dvyu...@google.com on 16 Jan 2014 at 4:08