blob: d9d623ccc799aa9783b020fc8a79e2770ad6dd25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Index: linux-2.6.17/kernel/vserver/signal.c
===================================================================
--- linux-2.6.17.orig/kernel/vserver/signal.c
+++ linux-2.6.17/kernel/vserver/signal.c
@@ -51,8 +51,10 @@ int vx_info_kill(struct vx_info *vxi, in
case 1:
if (vxi->vx_initpid) {
pid = vxi->vx_initpid;
- /* for now, only SIGINT to non admin init */
- if (!vx_info_flags(vxi, VXF_STATE_ADMIN, 0))
+ /* for now, only SIGINT to private init ... */
+ if (!vx_info_flags(vxi, VXF_STATE_ADMIN, 0) &&
+ /* ... as long as there are tasks left */
+ (atomic_read(&vxi->vx_tasks) > 1))
sig = SIGINT;
priv = 1;
}
|