On Sat, 21 Apr 2012 09:12:17 -0700 Ben Widawsky <ben at bwidawsk.net> wrote: > On Sat, 21 Apr 2012 10:41:55 +0100 > Chris Wilson <chris at chris-wilson.co.uk> wrote: > > > On Fri, 20 Apr 2012 18:23:31 -0700, Ben Widawsky <ben at bwidawsk.net> > > wrote: > > > + ret = i915_seqno_wait_timed(ring, seqno, true, &timeout); > > > + if (ret == -ERESTARTSYS) > > > + ret = -EINTR; > > Don't convert it here, pass ERESTARTSYS to the system call handler > > which decides how to handle it. > > > > > + else if (ret == -ETIME) { > > > + ret = -EBUSY; > > > > Why the semantic change? ETIME for timer timed out still seems > > appropriate. > > I must be missing something. Can you point to me where the system call > handler converts these? The only reason for the change was to prevent > passing the internal return types to user space. > > > > > I think this whole interface is a stop-gap solution for pollable sync > > objects without a clear use case. Do we have a spec for a feature > > wishing to build upon this interface? > > Good point. This is primarily for glClientWaitSync. I will update the > commit message with this information. > > > -Chris > > NVM, got them both. Thanks.