On Fri, Jul 24, 2009 at 11:56:54AM -0500, Shawn Walker wrote:
> [email protected] wrote:
>> Folks,
>> This is a relatively small change to fix bugs 10243 and 10263.
>>
>>      http://cr.opensolaris.org/~johansen/webrev-10243/
>>
>> The former was something that Ed and I ran across while debugging 10107.
>> We seemed espeically prone to hitting this issue using libcurl 7.19.5.
>>
>> The other bug is the stack trace in simple_cmp that was reported this
>> morning.  That's a one line fix.
>
> This seems right, though my one comment is that it isn't clear to me why  
> the return value of select() no longer matters.  It is because libcurl  
> handles all of that for you?

I wondered about this too.  PYCurl's select method is really a
convenience function for a call curl_multi_fdset() and select().  My
guess is that multi_fdset() picks the fds that it expects to see action
on, but it may not always get events.  If we don't call
curl_multi_perform() when we don't see any events, we'll never get libcurl
to trigger its own internal timeouts.  So, if it gave us a fd that we're
expecting to read, and we select indefinitely or with a timeout until
we see action, then if the fd never becomes readable, we'll be stuck in
select() instead of calling libcurl to generate a timeout, and try a new
connection.

I hope that explanation makes some amount of sense.

-j
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to