[Ace-users] Re: [ace-bugs] [ACE_TP_Reactor]: [Event_Handler suspension nothonoredfor handle_close]

Steve Huston shuston at riverace.com
Thu Jul 26 14:10:09 CDT 2007


Hi folks,

As Doug and Johnny indicated, there were some important improvements
to ACE_TP_Reactor a few betas ago, and 5.5.9 may resolve this. But I
want to clarify a question Hal asked:

> 	As I understand it, the ACE_TP_Reactor is supposed to 
> suspend events
> on an event handler that is being called by another thread 
> until that call
> returns.  So what's going on here?  Is this a mistaken 
> interpretation by me?

Yes, a common one... ACE_TP_Reactor suspends the handler around _I/O_
callbacks, but not around notifies or timers. Since you're using
notify(), the suspension around your handle_input() callback is
ineffective.

> Is there a known bug in this version?  Or is something else 
> entirely going on? 

You may also want to investigate using reference-counted event
handlers, which would prevent deletion of the handler while there's a
notify() queued, or any timer or I/O registrations still in effect.
This is covered in the October 2005 edition
(http://www.riverace.com/newsletters/October2005.htm) of the Riverace
ACE News and Tips newsletter.

-Steve

--
Steve Huston, Riverace Corporation
Would you like ACE to run great on your platform?
See http://www.riverace.com/sponsor.htm




More information about the Ace-users mailing list