From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 19/19] libxl: suspend: Apply guest timeout in evtchn case Date: Tue, 4 Mar 2014 14:56:56 +0000 Message-ID: <1393945016-1417-20-git-send-email-ian.jackson@eu.citrix.com> References: <1393945016-1417-1-git-send-email-ian.jackson@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1393945016-1417-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xensource.com Cc: Shriram Rajagopalan , Stefano Stabellini , Ian Jackson , Ian Campbell , Lai Jiangshan List-Id: xen-devel@lists.xenproject.org When negotiating guest suspend via the evtchn ("fast") protocol, the guest may still fail to respond. So set the timeout. The existing error path will already properly tear down our (event channel) wait. Signed-off-by: Ian Jackson CC: Stefano Stabellini CC: Ian Campbell --- tools/libxl/libxl_dom.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index c431a2d..820ec3a 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -1081,6 +1081,11 @@ static void domain_suspend_callback_common(libxl__egc *egc, rc = libxl__ev_evtchn_wait(gc, &dss->guest_evtchn); if (rc) goto err; + rc = libxl__ev_time_register_rel(gc, &dss->guest_timeout, + suspend_common_wait_guest_timeout, + 60*1000); + if (rc) goto err; + return; } -- 1.7.10.4