[haiku-bugs] [Haiku] #5723: fork() doesn't ensure a consistent state of libroot data

  • From: "bonefish" <trac@xxxxxxxxxxxx>
  • Date: Wed, 14 Apr 2010 14:06:36 -0000

#5723: fork() doesn't ensure a consistent state of libroot data
-------------------------------+--------------------------------------------
 Reporter:  bonefish           |       Owner:  axeld         
     Type:  bug                |      Status:  new           
 Priority:  normal             |   Milestone:  R1            
Component:  System/libroot.so  |     Version:  R1/Development
 Keywords:                     |   Blockedby:                
 Platform:  All                |    Blocking:                
-------------------------------+--------------------------------------------
 When a thread of a multi-threaded team calls fork() other threads could
 execute critical sections in libroot protected by locks. The protected
 data might thus be in an inconsistent state in the child team. The locks
 might appear in a locked state (depending on their implementation) -- ATM
 they are reinitialized in atfork() hooks. A correct solution would be to
 register all problematic locks at a central point in libroot and in
 fork(), before calling the system, acquire them all.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5723>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: