diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-07-16 02:38:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 12:05:38 -0400 |
commit | 42a359e31a0e438b5b978a8f0fecdbd3c86bb033 (patch) | |
tree | fc6a6a11e1187e163ba694bf4ab5cf48aa528f34 /arch/um/os-Linux | |
parent | d14ad81f800a57d3f21f8e98556c728968883e9a (diff) |
uml: SIGIO support cleanup
Cleanup of the SIGWINCH support.
Some code and comment reformatting.
The stack used for SIGWINCH threads was leaked. This is now fixed by storing
it with the pid and other information, and freeing it when the thread is
killed.
If something goes wrong with a WIGWINCH thread, and this is discovered in the
interrupt handler, the winch record would leak. It is now freed, except that
the IRQ isn't freed. This is hard to do from interrupt context. This has the
side-effect that the IRQ system maintains a reference to the freed structure,
but that shouldn't cause a problem since the descriptor is disabled.
register_winch_irq is now much better about cleaning up after an
initialization failure.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/os-Linux')
-rw-r--r-- | arch/um/os-Linux/skas/process.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c index 46c00cc429bc..ba9af8d62055 100644 --- a/arch/um/os-Linux/skas/process.c +++ b/arch/um/os-Linux/skas/process.c | |||
@@ -41,7 +41,7 @@ int is_skas_winch(int pid, int fd, void *data) | |||
41 | if(pid != os_getpgrp()) | 41 | if(pid != os_getpgrp()) |
42 | return(0); | 42 | return(0); |
43 | 43 | ||
44 | register_winch_irq(-1, fd, -1, data); | 44 | register_winch_irq(-1, fd, -1, data, 0); |
45 | return(1); | 45 | return(1); |
46 | } | 46 | } |
47 | 47 | ||