[ace-users] ace-users Digest, Vol 12, Issue 43

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Wed Aug 1 02:39:18 CDT 2007

Hi Michael,

Thanks for providing the version info.

>ACE version: 5.5.1

Please upgrade to ACE+TAO+CIAO x.5.10 (i.e., ACE 5.5.10, TAO 1.5.10, and
CIAO 0.5.10), which you can download from


under the heading: "Latest Beta Kit".

The DOC groups at Washington University, UC Irvine, and Vanderbilt
University only provide "best effort" support for non-sponsors for the
latest release, as described in


Thus, if you need more "predictable" help for earlier versions of
ACE+TAO, I recommend that you check out


for a list of companies that will provide you with ACE+TAO commercial

>Host: Intel PC, Fedora Core 5 Linux
>Target: same
>Thanks for the fast response (as usual) Doug.  I
>checked to see if I had ACE_HAS_PTHREADS_UNIX98_EXT
>defined, and it is, so I tried running
>Upgradable_RW_Test, and it seemed to fail.

In which way did it fail?

> I did
>uncomment out // #define RW_MUTEX which seemed
>So, I caame up with my own trivial test:
>#include "ace/RW_Thread_Mutex.h"
>int ACE_TMAIN (int, ACE_TCHAR **)
>    printf("ACE_HAS_PTHREADS_UNIX98_EXT defined.\n");
>    printf("ACE_HAS_PTHREADS_UNIX98_EXT not
>    ACE_RW_Thread_Mutex rw_mutex;
>    rw_mutex.acquire_read();
>    printf("acquired for read\n");
>    int result = rw_mutex.tryacquire_write_upgrade();
>    printf("tried upgrade, result = %d\n", result);
>    perror(0);
>    return 0;
>The output of the test is as follows:
>[mcarr at alien scratch]$ ./semTest
>acquired for read
>tried upgrade, result = -1
>Device or resource busy
>Anyone know what I am doing wrong?

I recommend you step through this program in your debugger to figure
out where the call is failing.  Please also check the man page for
pthread_rwlock_wrlock() to make sure you understand the semantics.  See


for the manual page.  Finally, you might try disabling
ACE_HAS_PTHREADS_UNIX98_EXT and recompiling with emulated RW locks
enabled to see if there's a bug with pthreads on Linux.


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.schmidt at vanderbilt.edu

More information about the Ace-users mailing list