ACE Proactor and libkse

Daniel Eischen eischen at vigrid.com
Tue Jul 15 11:24:50 PDT 2003


On Tue, 15 Jul 2003, Craig Rodrigues wrote:

> On Fri, Apr 11, 2003 at 07:51:49PM -0400, Daniel Eischen wrote:
> > > > 
> > > >                               libkse       libc_r
> > > >   ACE 5.3.1 Test               Pass?        Pass?
> > > >   ------------------------------------------------
> > > >   Cached_Conn_Test             No           No
> > > >   Conn_Test                    No           Yes
> > > >   MT_Reactor_Timer_Test        No           Yes
> > > >   Malloc_Test                  No           No
> > > >   Proactor_Test                No           No
> > > >   Proactor_Timer_Test          No           No

Just a note; we now pass all the ACE tests with the exception
of Cached_Conn_Test and the sigset ops test (which fails because
our sigfooset macros don't check for signals out of bounds --
nothing to do with our threads libraries).

You can also build ACE so that it will use scope system
threads when it wants (don't define ACE_LACKS_THREAD_PROCESS_SCOPING
in config-freebsd.h).

> Hi,
> 
> I just contributed a patch to ACE which I believe fixes
> the Proactor_Test under FreeBSD.  The Proactor_Test seems
> to *only* work with with KSE, i.e. I specified that libkse
> should be used in my /etc/libmap.conf.

Yeah, I knew that's why the proactor tests failed; I didn't
ever bother to load the aio module to see if it would then
pass.

> If anyone is interested in trying this out, you can check out
> the head of the ACE CVS repository by doing:
> 
> (0) Make sure that /etc/libmap.conf is configured to use libkse
> (1) cvs -d :pserver:anonymous at anoncvs.ociweb.com:/cvs login
> (2) (just press <Enter> when prompted for password)
> (3) cvs -d :pserver:anonymous at anoncvs.ociweb.com:/cvs co ACE
> (4) Set the environment ACE_ROOT environment variable to the root 
>     directory of where all the ACE files get extracted to
> (5) Set the environment variable LD_LIBRARY_PATH to $ACE_ROOT/ace
> (6) Create a file $ACE_ROOT/ace/config.h with one line:
>     #include "ace/config-freebsd.h"
> (7) Create a file $ACE_ROOT/include/makeinclude/platform_macros.GNU with one line:
>     include $(ACE_ROOT)/include/makeinclude/platform_freebsd.GNU
> 
> 
> (8) cd $ACE_ROOT; gmake
> (9) cd $ACE_ROOT/tests ; run_tests.pl
> 
> 
> What is the status of KSE + signals?  Signals seem to make a big difference
> with the ACE Proactor.  The Proactor_Test seems to work with libkse,
> but not libc_r, and I think it is due to signals.

It could be.  Signals are mostly done; there are a few changes
that David will be checking in really soon that should leave just
one issue with signals and sigwait() which we are not sure about.

-- 
Dan Eischen



More information about the freebsd-threads mailing list