diff options
author | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-09-17 01:15:55 +0000 |
---|---|---|
committer | coryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-09-17 01:15:55 +0000 |
commit | 046f1888fea6167aca23f80509ccb6c29fdb7370 (patch) | |
tree | 682bd1c5478de683f275718425bce087dbddea0d /ace | |
parent | 7896051e72cdb90e9fc4b2abdba64d8e8966f76f (diff) | |
download | ATCD-046f1888fea6167aca23f80509ccb6c29fdb7370.tar.gz |
ChangeLogTag:Wed Sep 16 20:09:01 1998 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'ace')
-rw-r--r-- | ace/OS.h | 9 | ||||
-rw-r--r-- | ace/OS.i | 8 |
2 files changed, 10 insertions, 7 deletions
@@ -2513,15 +2513,16 @@ typedef const struct msghdr ACE_SENDMSG_TYPE; # endif /* ACE_HAS_BROKEN_SENDMSG */ # if defined (ACE_HAS_BROKEN_RANDR) -// The SunOS 5.x version of rand_r is inconsistent with the header files... +// The SunOS 5.4.X version of rand_r is inconsistent with the header +// files... typedef u_int ACE_RANDR_TYPE; extern "C" int rand_r (ACE_RANDR_TYPE seed); # else # if defined (HPUX_10) // HP-UX 10.x's stdlib.h (long *) doesn't match that man page (u_int *) -typedef long *ACE_RANDR_TYPE; +typedef long ACE_RANDR_TYPE; # else -typedef u_int *ACE_RANDR_TYPE; +typedef u_int ACE_RANDR_TYPE; # endif /* HPUX_10 */ # endif /* ACE_HAS_BROKEN_RANDR */ @@ -4821,7 +4822,7 @@ public: // = A set of wrappers for random number operations. static int rand (void); - static int rand_r (ACE_RANDR_TYPE seed); + static int rand_r (ACE_RANDR_TYPE &seed); static void srand (u_int seed); // = A set of wrappers for readers/writer locks. @@ -667,12 +667,12 @@ extern "C" { # endif /* DIGITAL_UNIX */ ACE_INLINE int -ACE_OS::rand_r (ACE_RANDR_TYPE seed) +ACE_OS::rand_r (ACE_RANDR_TYPE &seed) { // ACE_TRACE ("ACE_OS::rand_r"); # if defined (ACE_HAS_REENTRANT_FUNCTIONS) # if defined (DIGITAL_UNIX) - ACE_OSCALL_RETURN (::_Prand_r (seed), int, -1); + ACE_OSCALL_RETURN (::_Prand_r (&seed), int, -1); # elif defined (HPUX_10) // rand() is thread-safe on HP-UX 10. rand_r's signature is not consistent // with latest POSIX and will change in a future HP-UX release so that it @@ -680,8 +680,10 @@ ACE_OS::rand_r (ACE_RANDR_TYPE seed) // removed, and just call rand_r. ACE_UNUSED_ARG (seed); ACE_OSCALL_RETURN (::rand(), int, -1); -# else +# elif defined (ACE_HAS_BROKEN_RANDR) ACE_OSCALL_RETURN (::rand_r (seed), int, -1); +# else + ACE_OSCALL_RETURN (::rand_r (&seed), int, -1); # endif /* DIGITAL_UNIX */ # else ACE_UNUSED_ARG (seed); |