linux/arch/um/os-Linux
Jeff Dike 5f4e8fd08f [PATCH] uml: fix thread startup race
This fixes a race in the starting of write_sigio_thread.  Previously, some of
the data needed by the thread was initialized after the clone.  If the thread
ran immediately, it would see the uninitialized data, including an empty
pollfds, which would cause it to hang.

We move the data initialization to before the clone, and adjust the error
paths and cleanup accordingly.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-27 08:44:38 -08:00
..
drivers [PATCH] uml: close TUN/TAP file descriptors 2006-02-07 16:12:32 -08:00
include Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
skas [PATCH] uml: initialize process FP registers properly 2006-02-07 16:12:32 -08:00
sys-i386 [PATCH] uml: initialize process FP registers properly 2006-02-07 16:12:32 -08:00
sys-x86_64 [PATCH] uml: initialize process FP registers properly 2006-02-07 16:12:32 -08:00
aio.c [PATCH] uml: Formatting changes 2006-01-06 08:33:45 -08:00
elf_aux.c [PATCH] uml makefiles sanitized 2005-09-29 08:46:26 -07:00
file.c [PATCH] uml: os_connect_socket error path fixup 2006-02-24 14:31:37 -08:00
helper.c [PATCH] uml: avoid malloc to sleep in atomic sections 2006-01-18 19:20:21 -08:00
irq.c [PATCH] uml: move libc-dependent irq code to os-Linux 2006-03-27 08:44:37 -08:00
main.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00
Makefile [PATCH] uml: move tty logging to os-Linux 2006-03-27 08:44:38 -08:00
mem.c [PATCH] uml: big memory fixes 2005-11-07 07:53:31 -08:00
process.c [PATCH] uml: fix usage of kernel_errno in place of errno 2006-02-24 14:31:37 -08:00
sigio.c [PATCH] uml: fix thread startup race 2006-03-27 08:44:38 -08:00
signal.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00
start_up.c [PATCH] uml: move SIGIO startup code to os-Linux/start_up.c 2006-03-27 08:44:38 -08:00
time.c [PATCH] uml: move libc-dependent time code 2006-01-18 19:20:19 -08:00
trap.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00
tt.c [PATCH] uml: move libc-dependent irq code to os-Linux 2006-03-27 08:44:37 -08:00
tty_log.c [PATCH] uml: move tty logging to os-Linux 2006-03-27 08:44:38 -08:00
tty.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uaccess.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00
umid.c [PATCH] uml: prevent umid theft 2006-03-27 08:44:38 -08:00
user_syms.c [PATCH] Hostfs: update for new glibc - add missing symbol exports 2005-12-29 09:48:15 -08:00
util.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00