diff -NurpP linux-2.6.17.7-vs2.1.1-rc28.1.4/kernel/vserver/signal.c linux-2.6.17.7-vs2.1.1-rc28.1.5/kernel/vserver/signal.c --- linux-2.6.17.7-vs2.1.1-rc28.1.4/kernel/vserver/signal.c 2006-08-07 01:28:05 +0200 +++ linux-2.6.17.7-vs2.1.1-rc28.1.5/kernel/vserver/signal.c 2006-08-07 02:33:23 +0200 @@ -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; }