--- ./kernel/vserver/helper.c 2005-09-14 23:08:50 +0200 +++ ./kernel/vserver/helper.c 2005-09-28 02:11:32 +0200 @@ -103,12 +103,18 @@ long vs_reboot_helper(struct vx_info *vx long vs_reboot(unsigned int cmd, void * arg) { struct vx_info *vxi = current->vx_info; - long ret; + long ret = 0; if (vx_info_flags(vxi, VXF_REBOOT_KILL, 0)) { - vx_info_kill(vxi, 0, SIGKILL); - vx_info_kill(vxi, 1, SIGKILL); - return 0; + switch (cmd) { + case LINUX_REBOOT_CMD_RESTART: + case LINUX_REBOOT_CMD_HALT: + case LINUX_REBOOT_CMD_POWER_OFF: + vx_info_kill(vxi, 0, SIGKILL); + vx_info_kill(vxi, 1, SIGKILL); + default: + break; + } } else { ret = vs_reboot_helper(vxi, cmd, arg); }