Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ACE_Proactor and Linux (2.6.31)

24 views
Skip to first unread message

edh007

unread,
Nov 11, 2009, 4:33:14 PM11/11/09
to
A general question:
I am trying to learn how to use the ACE_Proactor class by following
chapter 8
in the book "C++ Network Programming Volume 2".

However, when run under linux, my application gets terminated with a
real time signal ( signal # 34 ).

I was wondering if ACE A-SYNCH I/O works under Linux. Thanks.

Here is the PRF

----------------------------------------------------------------------------------
This is ACE version 5.7, released Mon Jun 22 09:33:40 CDT 2009

To: ace-...@cs.wustl.edu
Subject: Does ACE Asynch I/O work on Linux 2.6.31 kernel?

ACE VERSION: 5.7

HOST MACHINE and OPERATING SYSTEM:
Fedora Release 11 / 2.6.31.4 kernel
gcc 4.4.1

TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
COMPILER NAME AND VERSION (AND PATCHLEVEL):

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++)]:

BUILD METHOD USED: traditional

[Experimental ./configure or traditional makefile/project file?]

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?
LINKING?
On Unix systems, did you run make realclean first?
EXECUTION?
OTHER (please specify)?
[Please indicate whether ACE, your application, or both are affected.]

SYNOPSIS:
[Brief description of the problem]

DESCRIPTION:
[Detailed description of problem. Don't just say "<blah>
doesn't work, here's a fix," explain what your program does
to get to the <blah> state. ]

REPEAT BY:
[What you did to get the error; include test program or session
transcript if at all possible. ]

SAMPLE FIX/WORKAROUND:
[If available ]

Douglas C. Schmidt

unread,
Nov 13, 2009, 10:22:28 AM11/13/09
to edm...@gmail.com, ace-...@cse.wustl.edu
Hi,

>A general question:
>I am trying to learn how to use the ACE_Proactor class by following
>chapter 8
>in the book "C++ Network Programming Volume 2".
>
>However, when run under linux, my application gets terminated with a
>real time signal ( signal # 34 ).
>
>I was wondering if ACE A-SYNCH I/O works under Linux. Thanks.

Async I/O is poorly supported on many versions of Linux, so that's
probably the source of the problem.

Doug


--
Dr. Douglas C. Schmidt Professor and Associate Chair
Electrical Engineering and Computer Science TEL: (615) 343-8197
Vanderbilt University WEB: www.dre.vanderbilt.edu/~schmidt
Nashville, TN 37203 NET: d.sc...@vanderbilt.edu

Daugherty

unread,
Nov 13, 2009, 10:46:45 AM11/13/09
to Douglas C. Schmidt, ace-...@cse.wustl.edu, edm...@gmail.com
Hi,

We have been successfully using Terabit's TProactor (an emulated proactor) on Linux for several years. The code is getting fairly mature. We did this because we needed ACE_Proactor on Windows and TProactor on Linux.

I have a short punch list for integrating TProactor with ACE. If interested in this, contact me and I will forward this to you.

Paul

Hi,

Doug

_______________________________________________
ace-users mailing list
ace-...@list.isis.vanderbilt.edu
http://list.isis.vanderbilt.edu/mailman/listinfo/ace-users

Douglas C. Schmidt

unread,
Nov 13, 2009, 10:50:21 AM11/13/09
to Daugherty, ace-...@cse.wustl.edu, edm...@gmail.com

Hi Paul,

It would be great if we could integrate TP_Proactor into ACE since
that would fix a bunch of problems we've had with ACE_Proactor on
Linux. Is this something you could help us with?

Thanks,

Doug

Daugherty

unread,
Nov 13, 2009, 12:22:48 PM11/13/09
to Douglas C. Schmidt, ace-...@cse.wustl.edu, edm...@gmail.com
Hi Doug,

Integrating TProactor into ACE is something I have wanted for some time. Obviously, the arguments for this are many. In our case, we have numerous locations that use the ACE_Proactor, so it would have been prohibitive to create a parallel implementation that uses the ACE_Reactor for Linux. Our system has many unit and load tests and TProactor has been solid after shaking out a few bugs found with these tests. The advantage of TProactor is that it allows a single interface that is implemented to get the highest I/O performance on each platform with a common interface.

My primary weakness with respect to the ACE integration is a lack of experience on platforms other than Linux and Windows as well as integrating significant code changes into ACE. In the past, I have checked in minor changes which have broken the nightly tests on other platforms. In these cases, Steve Houston usually caught and fixed the errors.

I am willing to put in a lot of time if others are willing to help. Ideally, somebody with experience doing major ACE code changes could lead as a 'mentor' while I and others do the work. Alex Libman would be ideal since TProactor is his creation but last time I talked with him he was really busy. Anybody else interested in helping?

Thanks,

0 new messages