From: Daniel Hokka Zakrisson Date: Wed, 18 Jul 2007 14:51:37 +0000 (+0000) Subject: remove persistent to actually get rid of the contexts X-Git-Tag: util-vserver-0.30.214-1~63 X-Git-Url: http://git.onelab.eu/?p=util-vserver.git;a=commitdiff_plain;h=6e5a69581e88ef146a784ef411c5f2aa00eb5ef8 remove persistent to actually get rid of the contexts --- diff --git a/python/vserverimpl.c b/python/vserverimpl.c index c2479db..071a603 100644 --- a/python/vserverimpl.c +++ b/python/vserverimpl.c @@ -267,8 +267,16 @@ vserver_unset_dlimit(PyObject *self, PyObject *args) static PyObject * vserver_killall(PyObject *self, PyObject *args) { - xid_t ctx; - int sig; + xid_t ctx; + int sig; + struct vc_ctx_flags cflags = { + .flagword = 0, + .mask = VC_VXF_PERSISTENT + }; + struct vc_net_flags nflags = { + .flagword = 0, + .mask = VC_NXF_PERSISTENT + }; if (!PyArg_ParseTuple(args, "Ii", &ctx, &sig)) return NULL; @@ -276,6 +284,12 @@ vserver_killall(PyObject *self, PyObject *args) if (vc_ctx_kill(ctx, 0, sig) && errno != ESRCH) return PyErr_SetFromErrno(PyExc_OSError); + if (vc_set_cflags(ctx, &cflags) && errno != ESRCH) + return PyErr_SetFromErrno(PyExc_OSError); + + if (vc_set_nflags(ctx, &nflags) && errno != ESRCH) + return PyErr_SetFromErrno(PyExc_OSError); + return NONE; }