- flags.flagword = VC_VXF_STATE_SETUP| VC_VXF_INFO_LOCK;
- flags.mask = VC_VXF_STATE_SETUP | VC_VXF_INFO_LOCK;
-
- if (!PyArg_ParseTuple(args, "I", &ctx))
- return NULL;
-
-#ifdef MEF_DEBUG
- xid = vc_get_task_xid(0);
- printf("vserver_flags xid = %d, ctx = %d\n",xid,ctx);
-#endif
-
- if (vc_set_ccaps(ctx, &caps) == -1)
- return PyErr_SetFromErrno(PyExc_OSError);
-
-#ifdef MEF_DEBUG
- xid = vc_get_task_xid(0);
- printf("vserver_flags xid = %d, ctx = %d\n",xid,ctx);
-#endif
+ xid = VC_NOCTX;
+ if (vc_get_vx_info(ctx,&vc) != 0) {
+ xid = vc_ctx_create(ctx);
+ if (xid == VC_NOCTX && errno != EEXIST)
+ return PyErr_SetFromErrno(PyExc_OSError);
+ }