Search the web
Sign In
New User? Sign Up
ace-users
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Re: [ace-users] ACE_Reactor handle_output() does not work in win32   Message List  
Reply | Forward Message #30988 of 42992 |
Re: [ace-users] ACE_Reactor handle_output() does not work in win32

Hi Jonathan,

On Wed, May 15, 2002 at 02:08:31PM -0700, Jonathan Biggar wrote:
> Think of each waitable socket as having an internal flag. It is set
> when EWOULDBLOCK is returned by a write, and reset when
> WaitForMultipleObjects returns that the sockeet is writable. If your
> application code doesn't cause the flag to toggle back and forth by
> properly interleaving write() calls that return EWOULDBLOCK with
> WaitForMultipleObjects() calls, then your code is broken.

Right! However, most folks that have traditionally used
select()/poll() may not be used to interleaving write() calls that
return EWOULDBLOCK with the underlying event demultiplexing mechanism, such
as WaitForMultipleObjects() since it isn't necessary to do so with
select()/poll().

It seems that the confusion occurs since the default reactor on
Windows has different semantics than the default reactor on Linux, for
example.

-Ossama
--
Ossama Othman <ossama@...>
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068 70E6 5EB7 5E71 F7A3 94A8



Wed May 15, 2002 10:58 pm

ossama@...
Send Email Send Email

Forward
Message #30988 of 42992 |
Expand Messages Author Sort by Date

Hi Sreeram, ... It's hard to say exactly what's going on without seeing your code. However, there's a discussion in Chapter 4 of C++NPv2 ...
Douglas C. Schmidt
schmidt@...
Send Email
May 15, 2002
12:54 pm

... if ( write() == EWOULDBLOCK ) then { ... . ... ... wmfo_reactor->handle_events() } what happens when the socket transitions from flow-controlled to...
K S Sreeram
sreeram@...
Send Email
May 15, 2002
3:11 pm

Hi, ... The event hasn't been reported yet so presumably the WFMO reactor will still report the event. If not, then Windows' WaitForMultipleObjects() call...
Ossama Othman
ossama@...
Send Email
May 15, 2002
8:46 pm

... Think of each waitable socket as having an internal flag. It is set when EWOULDBLOCK is returned by a write, and reset when WaitForMultipleObjects returns...
Jonathan Biggar
jon@...
Send Email
May 15, 2002
9:10 pm

Hi Jonathan, ... Right! However, most folks that have traditionally used select()/poll() may not be used to interleaving write() calls that return EWOULDBLOCK...
Ossama Othman
ossama@...
Send Email
May 15, 2002
10:59 pm

On Linux, g++ I tried to do this: CCFLAGS -= -W CCFlags -+ -Wall DCFLAGS -= -W DCFlags -+ -Wall OCFLAGS -= -W OCFlags -+ -Wall but it does not work---the -W...
Salman Khilji
salmankhilji@...
Send Email
May 16, 2002
12:46 pm

IIRC the default makefile flags for C++ are: CXX - compiler CXXFLAGS - compiler flags By the way, -Wall won't disable warnings. ... ...
Andrew Sutton
ansutton@...
Send Email
May 16, 2002
1:56 pm

... GNU Make is not C or C++. There is no -=. If you want to remove this flag permanently for all compilation, set the flag in platform_macros.GNU like this: ...
Krishnakumar B
kitty@...
Send Email
May 16, 2002
5:16 pm

Hi Justin, ... its ... to ... the ... Yes, emphasis on "becomes". ... Not really... this may be a niggling point, but I want to avoid confusion... the event is...
Steve Huston
shuston@...
Send Email
May 17, 2002
4:46 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help