cvs commit: src/sys/compat/linux linux_emul.c

Konstantin Belousov kib at FreeBSD.org
Thu Feb 1 13:29:28 UTC 2007


kib         2007-02-01 13:29:27 UTC

  FreeBSD src repository

  Modified files:
    sys/compat/linux     linux_emul.c 
  Log:
  No need to synchronize linux_schedtail with linux_proc_init.
  p->p_emuldata is properly initialized in the time when the child can run.
  
  Do not set p->p_emuldata to NULL when the process is exiting.
  It does not make any sense and only costs 2 mutex operations.
  
  Do not lock emul_data to unlock it on the very next line.
  Comment on possible race while there.
  
  Reparent all procs that are part of a threading group but not its leaders
  to init and SIGCHLD init to finish the zombies off. This fixes zombies
  left after opera's exit. [1]
  
  There is no need to lock p_em in the linux_proc_init CLONE_THREAD
  case because the process cannot change the address of the p_em->shared
  because its currently running this code path.
  Move assigning of em->shared outside emul_shared_lock.
  
  Noticed by: Scott Robbins <scottro at nyc.rr.com> [1]
  Submitted by: rdivacky
  
  Revision  Changes    Path
  1.14      +28 -26    src/sys/compat/linux/linux_emul.c


More information about the cvs-src mailing list