aio_suspend glibc-2.3 Vs 2.2.5

Bourne bourne@ToughGuy.net
Thu Dec 5 01:04:00 GMT 2002


Greetings all , the aio_suspend code in glibc-2.3, goes like this
    for all entries in list
        if list is NULL then  return ( actually a break. but doesnot 
matter )
        if not EINPROGRESS then return
        if requestlist NULL then return
    end for
    suspend the thread
    return retval
In glibc-2.2.5 thread is suspended only if list is not NULL && thread is 
EINPROGRESS && requestlist is not NULL. But the only difference is , if 
any of the conditions is not met then IT STILL continues to process the 
rest of the entries in the list unlike in glibc-2.3 wherein the loop is 
broken once any one of the conditions of any one of the entries turn out 
to be false.

I would greatly appreciate if anyone can help out in explaning me why 
aio_suspend is now in the state it is. What bugs in it ( in 2.2.5) 
prompted for this change ?

Changelog quotes "Add check for completed elements and not suspend 
thread if so". I could not make anything out of this.

Thanks in advance.
Bourne



More information about the Libc-alpha mailing list