[Ace-users] [ace-users] ACE_Select_Reactor not calling handle_output( )

Steve Huston shuston at riverace.com
Mon Nov 26 11:13:04 CST 2007


Thanks very much for the PROBLEM-REPORT-FORM.

> ACE VERSION: 5.5
>    HOST MACHINE and OPERATING SYSTEM:
>        Linux 2.6.9 Kernel.CentOS4.2 (32bit)
> (snip)
>    DESCRIPTION:
>    I'm  building a simple echo test program.
>    I have an ACE_Select_Reactor listening in a port waiting data to
> be sent by telnet, for example. The reactor is registered for READ
> events. When telnet client connects, I write eight bytes in
terminal.
> ACE_Reactors calls handle_input() , who tries to read the 8 bytes,
> and then (still inside handle_input() ) it does a schedule_cancel( )
> on read events, and a schedule_wakeup for WRITE events.

Ok.

> I think ACE_Reactor should call handle_ouput( ) , but it is never
> called, so I can send the answer to the client.  Only handle_input(
)
> gets called.

Right, this is expected when using schedule_wakeup() and
cancel_wakeup(). Please see C++NPv2 section 3.5 for why this is and
what you need to do to have your events handled as you want.

For more info on C++NPv2, please see
http://www.riverace.com/acebooks/index.htm#cnpv2

Best regards,
-Steve

--
Steve Huston, Riverace Corporation
Want to take ACE training on YOUR schedule?
See http://www.riverace.com/training.htm




More information about the Ace-users mailing list