[ace-users] Help ! Porting ACE Proactor Aio application on Linux
h w
hw77377 at gmail.com
Fri Mar 4 12:00:22 CST 2016
Thank you very much for your help.
If someone did to emulate aio using reactive mechanisms, is it possible
to find this code/doc as an example/reference?
Thanks,
This email has been sent from a virus-free computer protected by Avast.
www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Wed, Mar 2, 2016 at 5:30 PM, Steve Huston <shuston at riverace.com> wrote:
> Thank you for the PROBLEM-REPORT-FORM.
>
>
>
> I looked for a bit and found no new developments in Linux kernel aio
> socket support, so the situation has apparently not changed.
>
>
>
> Your choices are:
>
> 1. Redesign your application to alternate reads and writes; some protocols
> won’t support this well, but if you can it’s the easiest way.
>
> 2. Change to using Reactor (particularly, ACE_Dev_Poll_Reactor) on Linux,
> at least.
>
> 3. Write something to emulate aio using reactive mechanisms. There was an
> effort that did this in ACE quite a few years ago – maybe you can get your
> hands on that and see if it could work for you.
>
>
>
> -Steve
>
>
>
> *From:* ace-users [mailto:ace-users-bounces at list.isis.vanderbilt.edu] *On
> Behalf Of *h w
> *Sent:* Tuesday, March 01, 2016 9:45 AM
> *To:* ace-users at list.isis.vanderbilt.edu
> *Subject:* [ace-users] Help ! Porting ACE Proactor Aio application on
> Linux
>
>
>
> ACE VERSION: 6.3.0
>
> HOST MACHINE and OPERATING SYSTEM:
> Centos 6.7 and Linux kernel 2.6.32-573.12.1.el6.i686
>
>
>
>
> THE $ACE_ROOT/ace/config.h
>
> #define ACE_LACKS_GETIPNODEBYADDR
> #define ACE_LACKS_GETIPNODEBYNAME
>
> #define ACE_HAS_AIO_CALLS
> #include "ace/config-linux.h"
>
>
>
>
> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU
>
> include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
>
>
>
>
> CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
> no such file
>
> AREA/CLASS/EXAMPLE AFFECTED: no
>
>
> DOES THE PROBLEM AFFECT:
> COMPILATION? no
> LINKING? no
> On Unix systems, did you run make realclean first? Yes, I
> did.
>
>
>
> SYNOPSIS:
> Using ACE Proactor AIO framework on network sockets to exchange
> messages between two or more endpoints on linux OS. It looked the message
> read or write blocked or in order.
>
>
> DESCRIPTION:
>
> I am porting an application into Linux which utilizes ACE
> proactor AIO framework for a network communication ( read/ write socket ).
> It works fine on Windows OS. However, on Linux, The application looked like
> exchange messages in order, for example, When I tried to send a message to
> the peer, I found that ACE_POSIX_AIOCB_Proactor did invoke aio_write() but
> the message did not get sent out util the peer sent a message out, and then
> got that previous message in. More worse, most time, when the connector
> estalished a connection and tried to send the first message, the system got
> locked up because a read operation probably be put before write
> operation for listening any incoming messages.
>
>
>
> I searched the issue and found the similar issue report in the
> link but it was several years age:
> https://stevehuston.wordpress.com/2008/11/25/when-is-it-ok-to-use-ace-proactor-on-linux/
>
>
>
> Is it still the limitation on Linux? Is there any way to get the
> ACE Proactor AIO work for network communication ( exchange message via
> socket with full duplex) now? Any help would be greatly appreciated
>
>
>
>
> Thanks!
>
>
>
> This email has been sent from a virus-free computer protected by Avast.
> www.avast.com
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.isis.vanderbilt.edu/pipermail/ace-users/attachments/20160304/41f53f53/attachment.html>
More information about the ace-users
mailing list