[Ace-users] Re: Leader/Follower Design Pattern Question
Peter
pptaszek at autograf.pl
Mon Aug 13 09:42:43 CDT 2007
Doug,
>
>> Yes, these two socket handles are in fdset. Leader thread wakes up,
>> poll() indicates that appropriate socket in fdset is "Read Ready".
>
> BTW, please note that poll() doesn't use fdsets - I assume you're
> using this term loosely, right?
>
Not exactly, It was just my mistake :-) It should be struct pollfd,
but It is such a long name...
>> But It is not able to activate his
>> socket handle in fdset, because It's now acquired by leader polling
>> this fdset.
>
> Ah, now I understand your question. Basically, there needs to be yet
> another "internal" I/O handle - let's call it the "notify handle" -
> that poll() always waits on in addition to the socket handles that
> correspond to clients. This notify handle is used to wakeup poll()
> after updating the fdset that keeps track of what events need to be
> listened to. There's more discussion of how this works in Chapter 3
> and 4 of the C++NPv2 book <www.cs.wustl.edu/~schmidt/ACE/book2/>. The
> code for doing this is available in ACE in the ACE_Select_Reactor.
> Please take a look at these resources and let me know if you have any
> questions.
>
Ok, now It is clear...
Thank you very much,
Peter
More information about the Ace-users
mailing list