From: Alex Riesen Date: Tue, 15 Aug 2006 11:18:17 GMT Subject: Re: [PATCH 5/6] On Solaris nanosleep() is not in libc but in librt Message-ID: <81b0412b0608150418g3fc8efd7n51f1095a98a3d08f@mail.gmail.com> In-Reply-To: <7vzme670dm.fsf@assigned-by-dhcp.cox.net> On 8/15/06, Junio C Hamano wrote: > > -# Define NEEDS_SOCKET if linking with libc is not enough (SunOS, > > -# Patrick Mauritz). > > +# Define NEEDS_SOCKET if linking with libc is not enough for socket() > > +# (SunOS, Patrick Mauritz). > > +# > > +# Define NEEDS_RT if linking with libc is not enough for nanosleep() (SunOS) > > Ah, nanosleep(2) was my fault, and we should be able to just use > straight sleep(3) there. The purpose of the loop is to wait > until the next filesystem timestamp granularity, and the code > uses subsecond sleep in the hope that it can shorten the delay > to 0.5 seconds on average instead of a full second. Was it not SunOS where sleep was implemented by means of SIGALRM? Besides, we still can shorten the delay by using select(2).