freebsd-dev/sys/i386/linux
Maxim Sobolev 4b1783363f 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
2005-03-03 16:57:55 +00:00
..
imgact_linux.c o Split out kernel part of execve(2) syscall into two parts: one that 2005-01-29 23:12:00 +00:00
linux_dummy.c
linux_genassym.c
linux_ipc64.h
linux_locore.s
linux_machdep.c In linux emulation layer try to detect attempt to use linux_clone() to 2005-03-03 16:57:55 +00:00
linux_proto.h Regen. 2004-09-06 09:33:30 +00:00
linux_ptrace.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 22:18:23 +00:00
linux_syscall.h Regen. 2004-09-06 09:33:30 +00:00
linux_sysent.c Regen. 2004-09-06 09:33:30 +00:00
linux_sysvec.c Use linux_emul_convpath() rather than linux_emul_find() as 2005-02-07 18:37:51 +00:00
linux.h Add a new type, l_uintptr_t, which is an unsigned integer type with the 2004-08-16 07:05:44 +00:00
Makefile
syscalls.conf
syscalls.master Add a few stub syscalls to get TransGaming's winex a bit closer to 2004-09-06 09:32:59 +00:00