From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Hoes Subject: Re: [PATCH 2/3] libxl: ocaml: use int64 for timeval fields in the timeout_register callback Date: Thu, 12 Dec 2013 16:48:48 +0000 Message-ID: <360717C0B01E6345BCBE64B758E22C2D1AC329@AMSPEX01CL03.citrite.net> References: <1386866211-12639-1-git-send-email-rob.hoes@citrix.com> <1386866211-12639-3-git-send-email-rob.hoes@citrix.com> <21161.59304.396688.333495@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <21161.59304.396688.333495@mariner.uk.xensource.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Jackson Cc: Dave Scott , Ian Campbell , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org Ian Jackson wrote: > Rob Hoes writes ("[PATCH 2/3] libxl: ocaml: use int64 for timeval fields > in the timeout_register callback"): > > The original code works fine on 64-bit, but on 32-bit, the OCaml int > > (which is 1 bit smaller than the C int) is likely to overflow. > > The timeouts are in milliseconds. 2^30 ms is 1.07megaseconds, or 12.4 > days. > > If it would help I would be happy to have libxl promise never to use such > absurdly long timeouts. This was because the absolute time is given to timeout_register, and the tv_sec field of the timeval that comes out of gettimeofday() is just a little too large for a 31-bit signed integer... I didn't see this before, because I was testing on a 64-bit box. When I moved to our 32-bit dom0, it started overflowing. Cheers, Rob