[ace-users] ACE_Sempahore problem

Sowayan, Abdullah (N-DUA) abdullah.sowayan at lmco.com
Thu Sep 27 14:56:57 CDT 2007


Johnny,

Under my fedora core 5 (with NPTL enabled), acquire on a semaphore initialized with 0 works fine. Under Lastiri's distribution of Linux, it seems not to work with NPTL is enabled (but it works when NPTL is disabled).

Thanks,
Abdul

> -----Original Message-----
> From: Johnny Willemsen [mailto:jwillemsen at remedy.nl]
> Sent: Thursday, September 27, 2007 3:06 PM
> To: Sowayan, Abdullah (N-DUA)
> Cc: Julián Lastiri; jwillemsen at remedy.nl; ace-users at cse.wustl.edu
> Subject: RE: [ace-users] ACE_Sempahore problem
> 
> 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