From 42a359e31a0e438b5b978a8f0fecdbd3c86bb033 Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Sun, 15 Jul 2007 23:38:55 -0700 Subject: 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 Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/um/os-Linux/skas/process.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/um/os-Linux') diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c index 46c00cc..ba9af8d 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) if(pid != os_getpgrp()) return(0); - register_winch_irq(-1, fd, -1, data); + register_winch_irq(-1, fd, -1, data, 0); return(1); } -- cgit v1.1