Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Mar 2005 16:57:55 +0000 (UTC)
From:      Maxim Sobolev <sobomax@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern kern_prot.c src/sys/i386/linux linux_machdep.c
Message-ID:  <200503031657.j23GvtS7093501@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
sobomax     2005-03-03 16:57:55 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_prot.c 
    sys/i386/linux       linux_machdep.c 
  Log:
  In linux emulation layer try to detect attempt to use linux_clone() to
  create kernel threads and call rfork(2) with RFTHREAD flag set in this case,
  which puts parent and child into the same threading group. As a result
  all threads that belong to the same program end up in the same threading
  group.
  
  This is similar to what linuxthreads port does, though in this case we don't
  have a luxury of having access to the source code and there is no definite
  way to differentiate linux_clone() called for threading purposes from other
  uses, so that we have to resort to heuristics.
  
  Allow SIGTHR to be delivered between all processes in the same threading
  group previously it has been blocked for s[ug]id processes.
  
  This also should improve locking of the same file descriptor from different
  threads in programs running under linux compat layer.
  
  PR:                     kern/72922
  Reported by:            Andriy Gapon <avg@icyb.net.ua>
  Idea suggested by:      rwatson
  
  Revision  Changes    Path
  1.48      +19 -0     src/sys/i386/linux/linux_machdep.c
  1.196     +12 -0     src/sys/kern/kern_prot.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503031657.j23GvtS7093501>