Am 21.03.10 21:19, schrieb Timothy Brownawell:
> Thomas Keller wrote:
>> #
>> # old_revision [dda54058811fd39356e8755ad0d68998a5159dd3]
>> #
>> # patch "network/reactor.cc"
>> # from [a90cee5442d3c77d8082d7bb91d4d23170bf25fb]
>> # to [4f424db0f326e61b015ff042880f2d77589c6429]
>> #
>> ============================================================
>> --- network/reactor.cc a90cee5442d3c77d8082d7bb91d4d23170bf25fb
>> +++ network/reactor.cc 4f424db0f326e61b015ff042880f2d77589c6429
>> @@ -87,8 +87,9 @@ void reactor::remove(shared_ptr<reactabl
>> if (i != items.end())
>> {
>> items.erase(i);
>> + bool had_pipe = have_pipe;
>> have_pipe = false;
>> - if (readying)
>> + if (readying && !had_pipe)
>> item->remove_from_probe(probe);
>> }
>> }
>>
>> @Timothy: I was a bit careful about setting have_pipe after `if
>> (readying) ...` here - if you think this would not introduce a problem,
>> then this patch could be simplyfied of course.
>
> The simpler way should be fine, neither version of remove_from_probe
> cares about the reactor's internal state.Ok, the simplified version has been committed in dbb536a64. Thomas. -- GPG-Key 0x160D1092 | [email protected] | http://thomaskeller.biz Please note that according to the EU law on data retention, information on every electronic information exchange might be retained for a period of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en
signature.asc
Description: OpenPGP digital signature

