From nobody Mon Feb 9 21:11:53 2026 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1577114345; cv=none; d=zohomail.com; s=zohoarc; b=Y9zDvwisqiQvISGBAigrPo3gwkFa2MCcAMUJe1Ze0W9hscMDOtBpQ5qOnfMbtW4FFof9HQ0KysweZjZ1lDPKpCXQxsnWs9uAc8j5yv0IcCrnxYSVTKlVlbAk+7oOsilJvTBYqEPxN8rrD+P5Y6XZ9+aNmm57LD/w9MJD17FXUUg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1577114345; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pwVhU0muGEuZXiVpN7cw5RAIMQOBmU6YLalVze4U10Y=; b=M0/XtSEAiiFk/JfvI7V8a7qc60Tq2hADTxRgyqoEmYco80pjHJIALGpXRx2CYaPtPmXhSxMApsS9lbDeULcNeTkLCtcAULr7d7YDhkqlkQpe+saYPxdmm4XCCRIDkzwHuuiMESv/eXZ4+cFp+cPvD9usQ4qwPj5HYQ247B9upl4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=none (zohomail.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1577114345684977.1100279816654; Mon, 23 Dec 2019 07:19:05 -0800 (PST) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ijPTI-0006PJ-IV; Mon, 23 Dec 2019 15:18:12 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ijPTH-0006OM-HT for xen-devel@lists.xenproject.org; Mon, 23 Dec 2019 15:18:11 +0000 Received: from mail-qv1-xf43.google.com (unknown [2607:f8b0:4864:20::f43]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 63f59d1a-2597-11ea-88e7-bc764e2007e4; Mon, 23 Dec 2019 15:17:53 +0000 (UTC) Received: by mail-qv1-xf43.google.com with SMTP id y8so6461573qvk.6 for ; Mon, 23 Dec 2019 07:17:53 -0800 (PST) Received: from four.lan (cpe-67-241-56-252.twcny.res.rr.com. [67.241.56.252]) by smtp.gmail.com with ESMTPSA id u15sm5823907qku.67.2019.12.23.07.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Dec 2019 07:17:52 -0800 (PST) X-Inumbo-ID: 63f59d1a-2597-11ea-88e7-bc764e2007e4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=2/djd1HHcfAAC+GQCcKQ0rXC67RaS5dl0perPfCjXCU=; b=bhBxfm239b2Ew6RK6pond/R4K2nr1KUbLKlaHFO+V3os4xGMzuDKBJIDQKYduzF4FG 4F/UIpy+2Nr4mQaBWwoOkzrkcBz/t154r7hizRh3FbyvY4N714GiPI497i3nxHBbIhKj xS6zcAotA6rMgZwEl8+vDsfQ65I8nMTER0FwvlfrgmEiB2YEAadjV6woRfrEyW63hijk axQrEjnbVOm4V4eR/Hg7+NqyDCm4QbS7UTXLzNQmyICA+K2+u9h7FfYkunCbwvMbm88E 24MHRV2bznmvzalW56d9KBtbew2HjrHRR0RXRVgaXJ5rKR4PjTAdnWTOoId4OJeT9NcU iSNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=2/djd1HHcfAAC+GQCcKQ0rXC67RaS5dl0perPfCjXCU=; b=s/WOri2dPD1D86ajFdnyjO4IxTuTzaDhesXfA44lowLvwUCRHv386H7zp5m2WdPMKG HgLJMSHGQfs61udMtOXIeK4d/TTZvHW0av6CXR/kZ9K4mh3vE2HSQNvvXgjTnygVoUd4 ZlcmilDGBzGj5iZu9iyWPyvR+N/Hf246vVLmqS2MVOKuKQflcDer+3CREBoVIT1D1sMH oGkv+j70cNv8ev1Vxa4gwBhJRvOuw7tWNncLxZzk+PyLJDkQJRCt7pr3QHttLCiA4mJL SmcMHRqru1+5X57QFNS5ijY6jPYg0M94oV6UH+49+mH0ru7YoIqZkec1vMfR+cKCH88v /OXg== X-Gm-Message-State: APjAAAXxWz4ror1kq8hH2zlkCWJnYqfVCHX+hONeBgZylhD0HnYxxiYB XiuV4ofPpgRL6rra5IcSksXr8m1U X-Google-Smtp-Source: APXvYqxxFYJ/XCNh4xlWiIV1s4Gj9sz/OhFaaODBGt+6tw7/k9y/iQu6iuwkCnz7FnNFKK4CKNmlnA== X-Received: by 2002:ad4:4b6d:: with SMTP id m13mr25378784qvx.240.1577114272678; Mon, 23 Dec 2019 07:17:52 -0800 (PST) From: Nick Rosbrook X-Google-Original-From: Nick Rosbrook To: xen-devel@lists.xenproject.org Date: Mon, 23 Dec 2019 10:17:06 -0500 Message-Id: <0eca74c58eb2e51cd87f48b8593a2c8065ad2996.1577111872.git.rosbrookn@ainfosec.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: References: Subject: [Xen-devel] [PATCH v4 5/6] golang/xenlight: revise use of Context type X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Nick Rosbrook , Ian Jackson , kerriganb@ainfosec.com, George Dunlap , Wei Liu MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Remove the exported global context variable, 'Ctx.' Generally, it is better to not export global variables for use through a Go package. However, there are some exceptions that can be found in the standard library. Add a NewContext function instead, and remove the Open, IsOpen, and CheckOpen functions as a result. Also, comment-out an ineffectual assignment to 'err' inside the function Context.CpupoolInfo so that compilation does not fail. Signed-off-by: Nick Rosbrook Reviewed-by: George Dunlap --- Changes in v4: - Add line break to excessively long line in NewContext. --- tools/golang/xenlight/xenlight.go | 220 +++++------------------------- 1 file changed, 35 insertions(+), 185 deletions(-) diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenl= ight.go index f32eb11384..5f14cab6ce 100644 --- a/tools/golang/xenlight/xenlight.go +++ b/tools/golang/xenlight/xenlight.go @@ -74,6 +74,40 @@ func (e Error) Error() string { return fmt.Sprintf("libxl error: %d", -e) } =20 +// Context represents a libxl_ctx. +type Context struct { + ctx *C.libxl_ctx + logger *C.xentoollog_logger_stdiostream +} + +// NewContext returns a new Context. +func NewContext() (*Context, error) { + var ctx Context + + ctx.logger =3D C.xtl_createlogger_stdiostream(C.stderr, C.XTL_ERROR, 0) + + ret :=3D C.libxl_ctx_alloc(&ctx.ctx, C.LIBXL_VERSION, 0, + (*C.xentoollog_logger)(unsafe.Pointer(ctx.logger))) + if ret !=3D 0 { + return nil, Error(ret) + } + + return &ctx, nil +} + +// Close closes the Context. +func (ctx *Context) Close() error { + ret :=3D C.libxl_ctx_free(ctx.ctx) + ctx.ctx =3D nil + C.xtl_logger_destroy((*C.xentoollog_logger)(unsafe.Pointer(ctx.logger))) + + if ret !=3D 0 { + return Error(ret) + } + + return nil +} + /* * Types: Builtins */ @@ -298,11 +332,6 @@ func (cpl CpuidPolicyList) toC() (C.libxl_cpuid_policy= _list, error) { return ccpl, nil } =20 -type Context struct { - ctx *C.libxl_ctx - logger *C.xentoollog_logger_stdiostream -} - // Hwcap represents a libxl_hwcap. type Hwcap [8]uint32 =20 @@ -453,11 +482,6 @@ func SchedulerFromString(name string) (s Scheduler, er= r error) { // libxl_cpupoolinfo * libxl_list_cpupool(libxl_ctx*, int *nb_pool_out); // void libxl_cpupoolinfo_list_free(libxl_cpupoolinfo *list, int nb_pool); func (Ctx *Context) ListCpupool() (list []Cpupoolinfo) { - err :=3D Ctx.CheckOpen() - if err !=3D nil { - return - } - var nbPool C.int =20 c_cpupool_list :=3D C.libxl_list_cpupool(Ctx.ctx, &nbPool) @@ -481,16 +505,11 @@ func (Ctx *Context) ListCpupool() (list []Cpupoolinfo= ) { =20 // int libxl_cpupool_info(libxl_ctx *ctx, libxl_cpupoolinfo *info, uint32_= t poolid); func (Ctx *Context) CpupoolInfo(Poolid uint32) (pool Cpupoolinfo) { - err :=3D Ctx.CheckOpen() - if err !=3D nil { - return - } - var c_cpupool C.libxl_cpupoolinfo =20 ret :=3D C.libxl_cpupool_info(Ctx.ctx, &c_cpupool, C.uint32_t(Poolid)) if ret !=3D 0 { - err =3D Error(-ret) + //err =3D Error(-ret) return } defer C.libxl_cpupoolinfo_dispose(&c_cpupool) @@ -507,11 +526,6 @@ func (Ctx *Context) CpupoolInfo(Poolid uint32) (pool C= pupoolinfo) { // FIXME: uuid // FIXME: Setting poolid func (Ctx *Context) CpupoolCreate(Name string, Scheduler Scheduler, Cpumap= Bitmap) (err error, Poolid uint32) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - poolid :=3D C.uint32_t(C.LIBXL_CPUPOOL_POOLID_ANY) name :=3D C.CString(Name) defer C.free(unsafe.Pointer(name)) @@ -540,11 +554,6 @@ func (Ctx *Context) CpupoolCreate(Name string, Schedul= er Scheduler, Cpumap Bitma =20 // int libxl_cpupool_destroy(libxl_ctx *ctx, uint32_t poolid); func (Ctx *Context) CpupoolDestroy(Poolid uint32) (err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_cpupool_destroy(Ctx.ctx, C.uint32_t(Poolid)) if ret !=3D 0 { err =3D Error(-ret) @@ -556,11 +565,6 @@ func (Ctx *Context) CpupoolDestroy(Poolid uint32) (err= error) { =20 // int libxl_cpupool_cpuadd(libxl_ctx *ctx, uint32_t poolid, int cpu); func (Ctx *Context) CpupoolCpuadd(Poolid uint32, Cpu int) (err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_cpupool_cpuadd(Ctx.ctx, C.uint32_t(Poolid), C.int(Cpu)) if ret !=3D 0 { err =3D Error(-ret) @@ -573,11 +577,6 @@ func (Ctx *Context) CpupoolCpuadd(Poolid uint32, Cpu i= nt) (err error) { // int libxl_cpupool_cpuadd_cpumap(libxl_ctx *ctx, uint32_t poolid, // const libxl_bitmap *cpumap); func (Ctx *Context) CpupoolCpuaddCpumap(Poolid uint32, Cpumap Bitmap) (err= error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - cbm, err :=3D Cpumap.toC() if err !=3D nil { return @@ -595,11 +594,6 @@ func (Ctx *Context) CpupoolCpuaddCpumap(Poolid uint32,= Cpumap Bitmap) (err error =20 // int libxl_cpupool_cpuremove(libxl_ctx *ctx, uint32_t poolid, int cpu); func (Ctx *Context) CpupoolCpuremove(Poolid uint32, Cpu int) (err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_cpupool_cpuremove(Ctx.ctx, C.uint32_t(Poolid), C.int(Cpu= )) if ret !=3D 0 { err =3D Error(-ret) @@ -612,11 +606,6 @@ func (Ctx *Context) CpupoolCpuremove(Poolid uint32, Cp= u int) (err error) { // int libxl_cpupool_cpuremove_cpumap(libxl_ctx *ctx, uint32_t poolid, // const libxl_bitmap *cpumap); func (Ctx *Context) CpupoolCpuremoveCpumap(Poolid uint32, Cpumap Bitmap) (= err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - cbm, err :=3D Cpumap.toC() if err !=3D nil { return @@ -634,11 +623,6 @@ func (Ctx *Context) CpupoolCpuremoveCpumap(Poolid uint= 32, Cpumap Bitmap) (err er =20 // int libxl_cpupool_rename(libxl_ctx *ctx, const char *name, uint32_t poo= lid); func (Ctx *Context) CpupoolRename(Name string, Poolid uint32) (err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - name :=3D C.CString(Name) defer C.free(unsafe.Pointer(name)) =20 @@ -653,11 +637,6 @@ func (Ctx *Context) CpupoolRename(Name string, Poolid = uint32) (err error) { =20 // int libxl_cpupool_cpuadd_node(libxl_ctx *ctx, uint32_t poolid, int node= , int *cpus); func (Ctx *Context) CpupoolCpuaddNode(Poolid uint32, Node int) (Cpus int, = err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ccpus :=3D C.int(0) =20 ret :=3D C.libxl_cpupool_cpuadd_node(Ctx.ctx, C.uint32_t(Poolid), C.int(N= ode), &ccpus) @@ -673,11 +652,6 @@ func (Ctx *Context) CpupoolCpuaddNode(Poolid uint32, N= ode int) (Cpus int, err er =20 // int libxl_cpupool_cpuremove_node(libxl_ctx *ctx, uint32_t poolid, int n= ode, int *cpus); func (Ctx *Context) CpupoolCpuremoveNode(Poolid uint32, Node int) (Cpus in= t, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ccpus :=3D C.int(0) =20 ret :=3D C.libxl_cpupool_cpuremove_node(Ctx.ctx, C.uint32_t(Poolid), C.in= t(Node), &ccpus) @@ -693,11 +667,6 @@ func (Ctx *Context) CpupoolCpuremoveNode(Poolid uint32= , Node int) (Cpus int, err =20 // int libxl_cpupool_movedomain(libxl_ctx *ctx, uint32_t poolid, uint32_t = domid); func (Ctx *Context) CpupoolMovedomain(Poolid uint32, Id Domid) (err error)= { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_cpupool_movedomain(Ctx.ctx, C.uint32_t(Poolid), C.uint32= _t(Id)) if ret !=3D 0 { err =3D Error(-ret) @@ -857,60 +826,8 @@ func (bm Bitmap) String() (s string) { return } =20 -/* - * Context - */ -var Ctx Context - -func (Ctx *Context) IsOpen() bool { - return Ctx.ctx !=3D nil -} - -func (Ctx *Context) Open() (err error) { - if Ctx.ctx !=3D nil { - return - } - - Ctx.logger =3D C.xtl_createlogger_stdiostream(C.stderr, C.XTL_ERROR, 0) - if Ctx.logger =3D=3D nil { - err =3D fmt.Errorf("Cannot open stdiostream") - return - } - - ret :=3D C.libxl_ctx_alloc(&Ctx.ctx, C.LIBXL_VERSION, - 0, (*C.xentoollog_logger)(unsafe.Pointer(Ctx.logger))) - - if ret !=3D 0 { - err =3D Error(-ret) - } - return -} - -func (Ctx *Context) Close() (err error) { - ret :=3D C.libxl_ctx_free(Ctx.ctx) - Ctx.ctx =3D nil - - if ret !=3D 0 { - err =3D Error(-ret) - } - C.xtl_logger_destroy((*C.xentoollog_logger)(unsafe.Pointer(Ctx.logger))) - return -} - -func (Ctx *Context) CheckOpen() (err error) { - if Ctx.ctx =3D=3D nil { - err =3D fmt.Errorf("Context not opened") - } - return -} - //int libxl_get_max_cpus(libxl_ctx *ctx); func (Ctx *Context) GetMaxCpus() (maxCpus int, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_get_max_cpus(Ctx.ctx) if ret < 0 { err =3D Error(-ret) @@ -922,11 +839,6 @@ func (Ctx *Context) GetMaxCpus() (maxCpus int, err err= or) { =20 //int libxl_get_online_cpus(libxl_ctx *ctx); func (Ctx *Context) GetOnlineCpus() (onCpus int, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_get_online_cpus(Ctx.ctx) if ret < 0 { err =3D Error(-ret) @@ -938,10 +850,6 @@ func (Ctx *Context) GetOnlineCpus() (onCpus int, err e= rror) { =20 //int libxl_get_max_nodes(libxl_ctx *ctx); func (Ctx *Context) GetMaxNodes() (maxNodes int, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } ret :=3D C.libxl_get_max_nodes(Ctx.ctx) if ret < 0 { err =3D Error(-ret) @@ -953,10 +861,6 @@ func (Ctx *Context) GetMaxNodes() (maxNodes int, err e= rror) { =20 //int libxl_get_free_memory(libxl_ctx *ctx, uint64_t *memkb); func (Ctx *Context) GetFreeMemory() (memkb uint64, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } var cmem C.uint64_t ret :=3D C.libxl_get_free_memory(Ctx.ctx, &cmem) =20 @@ -972,10 +876,6 @@ func (Ctx *Context) GetFreeMemory() (memkb uint64, err= error) { =20 //int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo) func (Ctx *Context) GetPhysinfo() (physinfo *Physinfo, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } var cphys C.libxl_physinfo C.libxl_physinfo_init(&cphys) defer C.libxl_physinfo_dispose(&cphys) @@ -993,11 +893,6 @@ func (Ctx *Context) GetPhysinfo() (physinfo *Physinfo,= err error) { =20 //const libxl_version_info* libxl_get_version_info(libxl_ctx *ctx); func (Ctx *Context) GetVersionInfo() (info *VersionInfo, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - var cinfo *C.libxl_version_info =20 cinfo =3D C.libxl_get_version_info(Ctx.ctx) @@ -1008,11 +903,6 @@ func (Ctx *Context) GetVersionInfo() (info *VersionIn= fo, err error) { } =20 func (Ctx *Context) DomainInfo(Id Domid) (di *Dominfo, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - var cdi C.libxl_dominfo C.libxl_dominfo_init(&cdi) defer C.libxl_dominfo_dispose(&cdi) @@ -1030,11 +920,6 @@ func (Ctx *Context) DomainInfo(Id Domid) (di *Dominfo= , err error) { } =20 func (Ctx *Context) DomainUnpause(Id Domid) (err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_domain_unpause(Ctx.ctx, C.uint32_t(Id), nil) =20 if ret !=3D 0 { @@ -1045,11 +930,6 @@ func (Ctx *Context) DomainUnpause(Id Domid) (err erro= r) { =20 //int libxl_domain_pause(libxl_ctx *ctx, uint32_t domain); func (Ctx *Context) DomainPause(id Domid) (err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_domain_pause(Ctx.ctx, C.uint32_t(id), nil) =20 if ret !=3D 0 { @@ -1060,11 +940,6 @@ func (Ctx *Context) DomainPause(id Domid) (err error)= { =20 //int libxl_domain_shutdown(libxl_ctx *ctx, uint32_t domid); func (Ctx *Context) DomainShutdown(id Domid) (err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_domain_shutdown(Ctx.ctx, C.uint32_t(id), nil) =20 if ret !=3D 0 { @@ -1075,11 +950,6 @@ func (Ctx *Context) DomainShutdown(id Domid) (err err= or) { =20 //int libxl_domain_reboot(libxl_ctx *ctx, uint32_t domid); func (Ctx *Context) DomainReboot(id Domid) (err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - ret :=3D C.libxl_domain_reboot(Ctx.ctx, C.uint32_t(id), nil) =20 if ret !=3D 0 { @@ -1091,11 +961,6 @@ func (Ctx *Context) DomainReboot(id Domid) (err error= ) { //libxl_dominfo * libxl_list_domain(libxl_ctx*, int *nb_domain_out); //void libxl_dominfo_list_free(libxl_dominfo *list, int nb_domain); func (Ctx *Context) ListDomain() (glist []Dominfo) { - err :=3D Ctx.CheckOpen() - if err !=3D nil { - return - } - var nbDomain C.int clist :=3D C.libxl_list_domain(Ctx.ctx, &nbDomain) defer C.libxl_dominfo_list_free(clist, nbDomain) @@ -1118,11 +983,6 @@ func (Ctx *Context) ListDomain() (glist []Dominfo) { // int *nb_vcpu, int *nr_cpus_out); //void libxl_vcpuinfo_list_free(libxl_vcpuinfo *, int nr_vcpus); func (Ctx *Context) ListVcpu(id Domid) (glist []Vcpuinfo) { - err :=3D Ctx.CheckOpen() - if err !=3D nil { - return - } - var nbVcpu C.int var nrCpu C.int =20 @@ -1153,11 +1013,6 @@ func (ct ConsoleType) String() (str string) { //int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num, //libxl_console_type type, char **path); func (Ctx *Context) ConsoleGetTty(id Domid, consNum int, conType ConsoleTy= pe) (path string, err error) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - var cpath *C.char ret :=3D C.libxl_console_get_tty(Ctx.ctx, C.uint32_t(id), C.int(consNum),= C.libxl_console_type(conType), &cpath) if ret !=3D 0 { @@ -1173,11 +1028,6 @@ func (Ctx *Context) ConsoleGetTty(id Domid, consNum = int, conType ConsoleType) (p //int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, // char **path); func (Ctx *Context) PrimaryConsoleGetTty(domid uint32) (path string, err e= rror) { - err =3D Ctx.CheckOpen() - if err !=3D nil { - return - } - var cpath *C.char ret :=3D C.libxl_primary_console_get_tty(Ctx.ctx, C.uint32_t(domid), &cpa= th) if ret !=3D 0 { --=20 2.17.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel