summaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/tt.c
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2006-01-17 16:29:06 +0100
committerJeff Garzik <jgarzik@pobox.com>2006-01-17 16:29:06 +0100
commitea9b395fe20ac74be788f415af2622ac8f0c35c7 (patch)
treed1653e1a4cbe360aa7132ea4e29ab92a02038224 /arch/um/os-Linux/tt.c
parentMerge branch 'upstream' (diff)
parent[PATCH] libata: add a function to decide if we need iordy (diff)
downloadlinux-ea9b395fe20ac74be788f415af2622ac8f0c35c7.tar.xz
linux-ea9b395fe20ac74be788f415af2622ac8f0c35c7.zip
Merge branch 'upstream'
Diffstat (limited to 'arch/um/os-Linux/tt.c')
-rw-r--r--arch/um/os-Linux/tt.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/um/os-Linux/tt.c b/arch/um/os-Linux/tt.c
index a6db8877931a..cb2648b79d0f 100644
--- a/arch/um/os-Linux/tt.c
+++ b/arch/um/os-Linux/tt.c
@@ -23,7 +23,6 @@
#include "kern_util.h"
#include "user.h"
#include "signal_kern.h"
-#include "signal_user.h"
#include "sysdep/ptrace.h"
#include "sysdep/sigcontext.h"
#include "irq_user.h"
@@ -50,6 +49,20 @@ int protect_memory(unsigned long addr, unsigned long len, int r, int w, int x,
return(0);
}
+void kill_child_dead(int pid)
+{
+ kill(pid, SIGKILL);
+ kill(pid, SIGCONT);
+ do {
+ int n;
+ CATCH_EINTR(n = waitpid(pid, NULL, 0));
+ if (n > 0)
+ kill(pid, SIGCONT);
+ else
+ break;
+ } while(1);
+}
+
/*
*-------------------------
* only for tt mode (will be deleted in future...)