[Ace-users] Re: [ace-bugs] Changing Proactor implementation on Windows

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Wed Sep 5 09:25:53 CDT 2007


Hi Erman,

   Thanks very much for using the PRF.

> ACE VERSION: 5.6
> 
> HOST MACHINE and OPERATING SYSTEM:
> 
> Windows as the OS, but the problem is not related with WinSOCK
> 
> TARGET MACHINE and OPERATING SYSTEM, if different from HOST: ---
> 
> COMPILER NAME AND VERSION (AND PATCHLEVEL): not relevant
> 
> THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
> 
> specific file, simply state which one]: ---
> 
> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you
> 
> use a link to a platform-specific file, simply state which one
> 
> (unless this isn't used in this case, e.g., with Microsoft Visual
> 
> C++)]: ---
> 
> CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
> 
> (used by MPC when you generate your own makefiles): ---
> 
> AREA/CLASS/EXAMPLE AFFECTED:
> 
> [What example failed? What module failed to compile?]
> 
> DOES THE PROBLEM AFFECT:
> 
> COMPILATION? NO
> 
> LINKING? NO
> 
> EXECUTION? NO Segmentation faults
> 
> OTHER (please specify)?
> 
> The problem is somehow logical.It affects user applications
> 
> using asynchronous communication on Windows.
> 
> SYNOPSIS:
> 
> Changing Proactor implementation on Windows
> 
> DESCRIPTION:
> 
> In file Win32_Asynch_IO.cpp, class ACE_WIN32_Asynch_Operation
> 
> has an attribute called "win32_proactor_" as a ACE_Proactor implementation class,
> 
> which is only set in the constructor. ACE_WIN32_Asynch_Operation::open function
> 
> gets a pointer to a ACE_Proactor as a parameter. However, function does not use
> 
> this parameter or its implementation class instead of the value of "win32_proactor_"
> 
> already set in constructor.Although a different Proactor is provided, this function
> 
> calls "register_handle" function of the old "win32_proactor_".But logically,
> 
> the proactor instance given in "open" should be used in the communication.
> 
> This can work in singleton case, but can be a bug in applications using multiple Proactors.

Could you please send us patches (i.e., via "unified diff") relative to
5.6 to fix this?  If so, we'll integrate this into the upcoming 5.6.1
"bug fix only" beta.

Thanks,

        Doug



More information about the Ace-users mailing list