- xid = vc_ctx_create(ctx);
- if (xid == VC_NOCTX && errno != EEXIST) {
- return PyErr_SetFromErrno(PyExc_OSError);
+ xid = vc_get_task_xid(0);
+#ifdef MEF_DEBUG
+ printf("vserver_enter xid = %d\n",xid);
+#endif
+ if (xid != ctx) {
+ if (xid!=0) {
+ errno=EPERM;
+ return PyErr_SetFromErrno(PyExc_OSError);
+ } else if (vc_ctx_migrate(ctx) == -1)
+ return PyErr_SetFromErrno(PyExc_OSError);