[ace-users] ACE_Sempahore problem

Johnny Willemsen jwillemsen at remedy.nl
Thu Sep 27 14:06:23 CDT 2007


Hi,

The emails are confusing. With NTPL enabled, do we have a bug? Does the
acquire on a semaphore initialized with 0 block or not?

Johnny

> Hi,
>
>
>
> That's interesting. In Fedora Core 5 with NPTL enabled, Lastiri's test
> program works. However, when I give the semaphore a timeout, it fails.
>
>
>
> Thanks,
> Abdul
>
>
>
> ________________________________
>
> From: Julián Lastiri [mailto:jlastiri at gmail.com]
> Sent: Thursday, September 27, 2007 2:57 PM
> To: Sowayan, Abdullah (N-DUA)
> Subject: Re: [ace-users] ACE_Sempahore problem
>
>
>
>
>
> On 9/27/07, Sowayan, Abdullah (N-DUA) <abdullah.sowayan at lmco.com> wrote:
>
> Hi,
>
> I tried Lastiri program, it works well on my Fedora Core 5 with NPTL
> enabled.
>
> Lastiri, did disabling NPTL flag help you?
>
>
> I disabled NPTL flag, compiled ACE again and it´s working now.
>
>
>
> 	Thanks,
> 	Abdul
>
> 	> -----Original Message-----
> 	> From: Johnny Willemsen [mailto: jwillemsen at remedy.nl]
> 	> Sent: Thursday, September 27, 2007 2:14 PM
> 	> To: Sowayan, Abdullah (N-DUA)
> 	> Cc: Johnny Willemsen; Julián Lastiri; ace-users at cse.wustl.edu
> 	> Subject: RE: [ace-users] ACE_Sempahore problem
> 	>
> 	> Hi,
> 	>
> 	> > Yes, we do have Semaphores initialized to 0, this may be the problem
> 	> we're
> 	> > facing as well. I'll try it out and let you know.
> 	>
> 	> Ok, if you could first extend the ACE regression test (test also other
> 	> values then 0) to reproduce we can at least make this visible on the
> 	> scoreboard.
> 	>
> 	> Johnny
> 	>
> 	> >
> 	> > Thanks,
> 	> > Abdul
> 	> >
> 	> > ________________________________________
> 	> > From: Johnny Willemsen [mailto:jwillemsen at remedy.nl]
> 	> > Sent: Thursday, September 27, 2007 12:21 PM
> 	> > To: 'Julián Lastiri'; ace-users at cse.wustl.edu
> 	> > Cc: Sowayan, Abdullah (N-DUA)
> 	> > Subject: RE: [ace-users] ACE_Sempahore problem
> 	> >
> 	> > Hi,
> 	> >
> 	> > Thanks for using the PRF form. This seems the problem that Abdul
> 	> reported
> 	> > earlier. As workaround edit
> 	> include/makeinclude/platform_linux_common.GNU
> 	> > and comment out the next line:
> 	> > CPPFLAGS += -DACE_HAS_LINUX_NPTL
> 	> >
> 	> > Can you file this in bugzilla so that it doesn't get lost (see
> 	> > )http://deuce.doc.wustl.edu/bugzilla/index.cgi)
> 	> >
> 	> > Regards,
> 	> >
> 	> > Johnny Willemsen
> 	> > Remedy IT
> 	> > Postbus 101
> 	> > 2650 AC Berkel en Rodenrijs
> 	> > The Netherlands
> 	> > www.theaceorb.nl / www.remedy.nl
> 	> >
> 	> > *** Integrated compile and test statistics see
> 	> > http://scoreboard.theaceorb.nl ***
> 	> > *** Commercial service and support for ACE/TAO/CIAO ***
> 	> > *** See http://www.theaceorb.nl/en/support.html ***
> 	> >
> 	> > ________________________________________
> 	> > From: ace-users-bounces at cse.wustl.edu
> 	> > [mailto:ace-users-bounces at cse.wustl.edu] On Behalf Of Julián Lastiri
> 	> > Sent: Thursday, September 27, 2007 6:00 PM
> 	> > To: ace-users at cse.wustl.edu
> 	> > Subject: [ace-users] ACE_Sempahore problem
> 	> >
> 	> > ACE VERSION: 5.6.1
> 	> >
> 	> > HOST MACHINE and OPERATING SYSTEM:
> 	> >
> 	> > Intel X86 32bits. Ubuntu 7.04, kernel 2.6.20-16-generic #2 SMP Sun
> Sep
> 	> 23
> 	> > 19:50:39 UTC 2007 i686 GNU/Linux
> 	> >
> 	> > TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
> 	> > COMPILER NAME AND VERSION (AND PATCHLEVEL):
> 	> >
> 	> > Same as HOST
> 	> >
> 	> > THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
> 	> > specific file, simply state which one]:
> 	> >
> 	> > config.h
> 	> > #define ACE_HAS_TIMED_MESSAGE_BLOCKS
> 	> > #include "ace/config-linux.h"
> 	> >
> 	> > 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++)]:
> 	> >
> 	> > $ACE_ROOT/include/makeinclude/platform_macros.GNU
> 	> > include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
> 	> >
> 	> > 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?
> 	> > YES
> 	> >
> 	> > SYNOPSIS:
> 	> > ACE_Semaphore acquire with initial count=0 doesn't block
> 	> >
> 	> > DESCRIPTION:
> 	> > I'm using ACE_Semaphore initialized with count=0 and when i call
> acquire
> 	> > it doesn't block
> 	> >
> 	> >
> 	> > REPEAT BY:
> 	> >
> 	> > test.cpp
> 	> > #include <ace/Semaphore.h>
> 	> > #include <ace/Log_Msg.h>
> 	> > int main(){
> 	> > ACE_Semaphore semaphore( 0 ) ;
> 	> > semaphore.acquire() ;
> 	> > ACE_DEBUG (( LM_DEBUG, "BUG !\n" )) ;
> 	> > return 0 ;
> 	> > }
> 	> >
> 	> > compiled
> 	> > g++ test.cpp -o test -lACE
> 	> >
> 	> > this example works fine on ACE 5.5.10 with same config.h and
> 	> > platform_macros.GNU
> 	> >
> 	> > SAMPLE FIX/WORKAROUND:
> 	> >
> 	> > g++ test.cpp -D ACE_HAS_POSIX_SEM -o test -lACE
> 	> >
> 	> >
> 	>
>
>
>
>




More information about the Ace-users mailing list