summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-05-10 21:47:43 +0000
committerdhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-05-10 21:47:43 +0000
commit9e34151633a2077ec34d4561a3bd5f5073e36d06 (patch)
treeba485f4ec2d472da774d9c3f470fec80871b179d
parent4f24ebfc695d860f09caa57dd93bc80dbd44f6a5 (diff)
downloadATCD-9e34151633a2077ec34d4561a3bd5f5073e36d06.tar.gz
ChangeLogTag:Sat May 10 21:39:05 UTC 2003 Don Hinton <dhinton@dresystems.com>
-rw-r--r--ChangeLog59
-rw-r--r--ace/Handle_Set.h11
-rw-r--r--ace/Malloc.h32
-rw-r--r--ace/OS.h1063
-rw-r--r--ace/Timer_Queue_T.cpp7
-rw-r--r--ace/os_include/pthread.h343
-rw-r--r--ace/os_include/stdio.h10
-rw-r--r--ace/os_include/stdlib.h8
-rw-r--r--ace/os_include/string.h8
-rw-r--r--ace/os_include/sys/stat.h10
-rw-r--r--ace/os_include/unistd.h12
-rw-r--r--apps/gperf/src/Vectors.h12
12 files changed, 505 insertions, 1070 deletions
diff --git a/ChangeLog b/ChangeLog
index 7adf54bd333..105c7396611 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,44 @@
+Sat May 10 21:39:05 UTC 2003 Don Hinton <dhinton@dresystems.com>
+
+ * ace/OS.h:
+ Removed commented and moved more code, as listed below.
+
+ * ace/Handle_Set.h:
+ Moved ACE_FD_SETSIZE and ACE_DEFAULT_SELECT_REACTOR_SIZE
+ defines here.
+
+ * ace/Malloc.h:
+ Moved ACE_DEFAULT_BASE_ADDR define here. Fixed #ifdef
+ indentation.
+
+ * ace/Timer_Queue_T.cpp:
+ Moved ACE_TIMER_SKEW define here.
+
+ * ace/os_include/pthread.h:
+ Moved a large section of pthread defines and typedefs here.
+
+ * ace/os_include/stdio.h:
+ Moved ACE_PSOS_SNARFS_HEADER_INFO decl's for fdopen(), tempnam(),
+ and fileno() here.
+
+ * ace/os_include/stdlib.h:
+ Moved ACE_PSOS_SNARFS_HEADER_INFO decl for putenv() here.
+
+ * ace/os_include/string.h:
+ Moved ACE_PSOS_SNARFS_HEADER_INFO decl for strdup() here.
+
+ * ace/os_include/unistd.h:
+ Moved ACE_PSOS_SNARFS_HEADER_INFO decl's for getopt() and
+ isatty() here.
+
+ * ace/os_include/sys/stat.h:
+ Moved ACE_PSOS_SNARFS_HEADER_INFO decl's for umask(), mkfifo(),
+ and mkdir() here.
+
+ * apps/gperf/src/Vectors.h:
+ Moved ACE_ASCII_SIZE, ACE_EBCDIC_SIZE, and
+ ACE_STANDARD_CHARACTER_SET_SIZE defines here.
+
Sat May 10 18:59;32 UTC 2003 Don Hinton <dhinton@dresystems.com>
* ace/config-cygwin32.h:
@@ -26,12 +67,12 @@ Sat May 10 16:18:24 UTC 2003 Don Hinton <dhinton@dresystems.com>
defines here.
* ace/os_include/string.h:
- Moved str[n]imp for __BORLANDC__ and ACE_SPRINTF_ADAPTER
+ Moved str[n]imp() for __BORLANDC__ and ACE_SPRINTF_ADAPTER
defines here.
* ace/os_include/unistd.h:
- Moved _SC_AIO_MAX, chdir, access, getcwd, and isatty defines
- for __BORLANDC__ here.
+ Moved _SC_AIO_MAX, chdir(), access(), getcwd(), and isatty()
+ defines for __BORLANDC__ here.
* ace/os_include/sys/mman.h:
Moved PROT_RDWR define here.
@@ -40,10 +81,10 @@ Sat May 10 16:18:24 UTC 2003 Don Hinton <dhinton@dresystems.com>
Moved CMSG_DATA define here.
* ace/os_include/sys/stat.h:
- Moved stat, umask, and fstat defines for __BORLANDC__ here.
+ Moved stat(), umask(), and fstat() defines for __BORLANDC__ here.
* ace/os_include/sys/timeb.h:
- Moved ftime and timeb defines for __BORLANDC__ here.
+ Moved ftime() and timeb defines for __BORLANDC__ here.
* ace/os_include/sys/types.h:
Moved longlong_t, key_t, and pid_t here.
@@ -71,16 +112,16 @@ Fri May 9 22:45:24 UTC 2003 Don Hinton <dhinton@dresystems.com>
sys/regset.h here.
* ace/os_include/stdlib.h:
- Move rand_r declaration here.
+ Move rand_r() declaration here.
* ace/os_include/string.h:
- Moved strtok_r declaration here.
+ Moved strtok_r() declaration here.
* ace/os_include/time.h:
- Moved strptime declaration here.
+ Moved strptime() declaration here.
* ace/os_include/unistd.h:
- Moved ualarm, pread/pwrite, getpgid, and lseek64/llseek
+ Moved ualarm(), pread/pwrite(), getpgid(), and lseek64/llseek()
declarations here.
* ace/os_include/sys/mman.h:
diff --git a/ace/Handle_Set.h b/ace/Handle_Set.h
index 731ca256f7f..c4de6d79248 100644
--- a/ace/Handle_Set.h
+++ b/ace/Handle_Set.h
@@ -20,6 +20,17 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+// Default size of the ACE Reactor.
+#if defined (FD_SETSIZE)
+ int const ACE_FD_SETSIZE = FD_SETSIZE;
+#else
+# define ACE_FD_SETSIZE FD_SETSIZE
+#endif /* ACE_FD_SETSIZE */
+
+#if !defined (ACE_DEFAULT_SELECT_REACTOR_SIZE)
+# define ACE_DEFAULT_SELECT_REACTOR_SIZE ACE_FD_SETSIZE
+#endif /* ACE_DEFAULT_SELECT_REACTOR_SIZE */
+
/**
* @class ACE_Handle_Set
*
diff --git a/ace/Malloc.h b/ace/Malloc.h
index eb2c65fa31b..7e4d5097e72 100644
--- a/ace/Malloc.h
+++ b/ace/Malloc.h
@@ -24,15 +24,21 @@
#include "ace/OS.h"
#include "ace/Log_Msg.h"
+// Default address for shared memory mapped files and SYSV shared memory
+// (defaults to 64 M).
+# if !defined (ACE_DEFAULT_BASE_ADDR)
+# define ACE_DEFAULT_BASE_ADDR ((char *) (64 * 1024 * 1024))
+# endif /* ACE_DEFAULT_BASE_ADDR */
+
#if defined (ACE_HAS_MALLOC_STATS)
-#include "ace/Atomic_Op.h"
-#if defined (ACE_HAS_THREADS)
-#include "ace/Process_Mutex.h"
-#define ACE_PROCESS_MUTEX ACE_Process_Mutex
-#else
-#include "ace/SV_Semaphore_Simple.h"
-#define ACE_PROCESS_MUTEX ACE_SV_Semaphore_Simple
-#endif /* ACE_HAS_THREADS */
+# include "ace/Atomic_Op.h"
+# if defined (ACE_HAS_THREADS)
+# include "ace/Process_Mutex.h"
+# define ACE_PROCESS_MUTEX ACE_Process_Mutex
+# else /* ACE_HAS_THREADS */
+# include "ace/SV_Semaphore_Simple.h"
+# define ACE_PROCESS_MUTEX ACE_SV_Semaphore_Simple
+# endif /* ACE_HAS_THREADS */
typedef ACE_Atomic_Op<ACE_PROCESS_MUTEX, int> ACE_INT;
@@ -199,9 +205,9 @@ struct ACE_Export ACE_Malloc_Stats
/// Number of blocks in use
ACE_INT ninuse_;
};
-#define ACE_MALLOC_STATS(X) X
+# define ACE_MALLOC_STATS(X) X
#else
-#define ACE_MALLOC_STATS(X)
+# define ACE_MALLOC_STATS(X)
#endif /* ACE_HAS_MALLOC_STATS */
#if !defined (ACE_MALLOC_PADDING)
@@ -210,7 +216,7 @@ struct ACE_Export ACE_Malloc_Stats
// when you want areas to be at least a page long, or 32K long, or
// something like that.
-#define ACE_MALLOC_PADDING 1
+# define ACE_MALLOC_PADDING 1
#endif /* ACE_MALLOC_PADDING */
union ACE_max_align_info
@@ -223,11 +229,11 @@ union ACE_max_align_info
#if !defined (ACE_MALLOC_ALIGN)
// Align the malloc header size to a multiple of a double.
-#define ACE_MALLOC_ALIGN (sizeof (ACE_max_align_info))
+# define ACE_MALLOC_ALIGN (sizeof (ACE_max_align_info))
#endif /* ACE_MALLOC_ALIGN */
#if !defined ACE_MALLOC_ROUNDUP
-#define ACE_MALLOC_ROUNDUP(X, Y) ((X) + ((Y) - 1) & ~((Y) - 1))
+# define ACE_MALLOC_ROUNDUP(X, Y) ((X) + ((Y) - 1) & ~((Y) - 1))
#endif
// ACE_MALLOC_HEADER_SIZE is the normalized malloc header size.
diff --git a/ace/OS.h b/ace/OS.h
index e4f4fa2a4d6..44fe5b1c23d 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -38,82 +38,18 @@
class ACE_Timeout_Manager;
-//#if !defined (_SC_AIO_MAX)
-//#define _SC_AIO_MAX 1
-//#endif /* _SC_AIO_MAX */
-
-// Do not change these values wantonly since GPERF depends on them..
-#define ACE_ASCII_SIZE 128
-#define ACE_EBCDIC_SIZE 256
-
-#if 'a' < 'A'
-#define ACE_HAS_EBCDIC
-#define ACE_STANDARD_CHARACTER_SET_SIZE 256
-#else
-#define ACE_HAS_ASCII
-#define ACE_STANDARD_CHARACTER_SET_SIZE 128
-#endif /* 'a' < 'A' */
-
-//# if defined (ACE_PSOS_TM)
-//typedef long long longlong_t;
-//typedef long id_t;
-//# endif /* ACE_PSOS_TM */
-
// Here are all ACE-specific default constants, needed throughout ACE
// and its applications. The values can be over written by user
// specific values in config.h files.
#include "ace/Default_Constants.h"
-//# if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG)
-// // Control message size to pass a file descriptor.
-//# define ACE_BSD_CONTROL_MSG_LEN sizeof (struct cmsghdr) + sizeof (ACE_HANDLE)
-//# if defined (ACE_LACKS_CMSG_DATA_MACRO)
-//# if defined (ACE_LACKS_CMSG_DATA_MEMBER)
-//# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))
-//# else
-//# define CMSG_DATA(cmsg) ((cmsg)->cmsg_data)
-//# endif /* ACE_LACKS_CMSG_DATA_MEMBER */
-//# endif /* ACE_LACKS_CMSG_DATA_MACRO */
-//# endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */
-
-
-// Default size of the ACE Reactor.
-# if defined (FD_SETSIZE)
-int const ACE_FD_SETSIZE = FD_SETSIZE;
-# else
-# define ACE_FD_SETSIZE FD_SETSIZE
-# endif /* ACE_FD_SETSIZE */
-
-# if !defined (ACE_DEFAULT_SELECT_REACTOR_SIZE)
-# define ACE_DEFAULT_SELECT_REACTOR_SIZE ACE_FD_SETSIZE
-# endif /* ACE_DEFAULT_SELECT_REACTOR_SIZE */
-
-
// Here are all ACE-specific global declarations needed throughout
// ACE.
#include "ace/Global_Macros.h"
-//#if !defined (ACE_WIN32) && !defined (INTEGRITY)
-//#define ACE_MAX_USERID L_cuserid
-//#endif /*!ACE_WIN32*/
-
// include the ACE min()/max() functions.
# include "ace/Min_Max.h"
-
-// These hooks enable ACE to have all dynamic memory management
-// automatically handled on a per-object basis.
-
-//# if defined (ACE_LACKS_KEY_T)
-//# if defined (ACE_WIN32)
-// // Win32 doesn't use numeric values to name its semaphores, it uses
-// // strings!
-//typedef char *key_t;
-//# else
-//typedef int key_t;
-//# endif /* ACE_WIN32 */
-//# endif /* ACE_LACKS_KEY_T */
-
///////////////////////////////////////////
// //
// NOTE: Please do not add any #includes //
@@ -568,18 +504,18 @@ private:
//# define ACE_SPRINTF_ADAPTER(X) X
//# endif /* ACE_HAS_CHARPTR_SPRINTF */
-// Default address for shared memory mapped files and SYSV shared memory
-// (defaults to 64 M).
-# if !defined (ACE_DEFAULT_BASE_ADDR)
-# define ACE_DEFAULT_BASE_ADDR ((char *) (64 * 1024 * 1024))
-# endif /* ACE_DEFAULT_BASE_ADDR */
+//// Default address for shared memory mapped files and SYSV shared memory
+//// (defaults to 64 M).
+//# if !defined (ACE_DEFAULT_BASE_ADDR)
+//# define ACE_DEFAULT_BASE_ADDR ((char *) (64 * 1024 * 1024))
+//# endif /* ACE_DEFAULT_BASE_ADDR */
-// This fudge factor can be overriden for timers that need it, such as on
-// Solaris, by defining the ACE_TIMER_SKEW symbol in the appropriate config
-// header.
-#if !defined (ACE_TIMER_SKEW)
-# define ACE_TIMER_SKEW 0
-#endif /* ACE_TIMER_SKEW */
+//// This fudge factor can be overriden for timers that need it, such as on
+//// Solaris, by defining the ACE_TIMER_SKEW symbol in the appropriate config
+//// header.
+//#if !defined (ACE_TIMER_SKEW)
+//# define ACE_TIMER_SKEW 0
+//#endif /* ACE_TIMER_SKEW */
// This needs to go here *first* to avoid problems with AIX.
# if defined (ACE_HAS_PTHREADS)
@@ -1139,87 +1075,10 @@ _make_##SERVICE_CLASS (ACE_Service_Object_Exterminator *gobbler) \
# define ACE_TSS_GET(I, T) (I)
# endif /* ACE_HAS_THREADS && (ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATIOND) */
-//# if defined (ACE_LACKS_MODE_MASKS)
-//// MODE MASKS
-//
-//// the following macros are for POSIX conformance.
-//
-//# if !defined (ACE_HAS_USER_MODE_MASKS)
-//# define S_IRWXU 00700 /* read, write, execute: owner. */
-//# define S_IRUSR 00400 /* read permission: owner. */
-//# define S_IWUSR 00200 /* write permission: owner. */
-//# define S_IXUSR 00100 /* execute permission: owner. */
-//# endif /* ACE_HAS_USER_MODE_MASKS */
-//# define S_IRWXG 00070 /* read, write, execute: group. */
-//# define S_IRGRP 00040 /* read permission: group. */
-//# define S_IWGRP 00020 /* write permission: group. */
-//# define S_IXGRP 00010 /* execute permission: group. */
-//# define S_IRWXO 00007 /* read, write, execute: other. */
-//# define S_IROTH 00004 /* read permission: other. */
-//# define S_IWOTH 00002 /* write permission: other. */
-//# define S_IXOTH 00001 /* execute permission: other. */
-//
-//// eVC doesn't define these bits, but MSVC does. The bit settings are copied
-//// from the MSVC defs.
-//# if defined (ACE_HAS_WINCE)
-//# define S_IFDIR 0040000
-//# define S_IFREG 0100000
-//# endif /* ACE_HAS_WINCE */
-//# endif /* ACE_LACKS_MODE_MASKS */
-
-//# if defined (ACE_LACKS_SEMBUF_T)
-//struct sembuf
-//{
-// /// semaphore #
-// unsigned short sem_num;
-//
-// /// semaphore operation
-// short sem_op;
-//
-// /// operation flags
-// short sem_flg;
-//};
-//# endif /* ACE_LACKS_SEMBUF_T */
-
-//# if defined (ACE_LACKS_MSGBUF_T)
-//struct msgbuf {};
-//# endif /* ACE_LACKS_MSGBUF_T */
-
-//# if defined (ACE_LACKS_STRRECVFD)
-//struct strrecvfd {};
-//# endif /* ACE_LACKS_STRRECVFD */
-
# if defined (ACE_HAS_PROC_FS)
# include /**/x <sys/procfs.h>
# endif /* ACE_HAS_PROC_FS */
-//# if defined(__rtems__)
-//struct iovec {
-// /// Base address.
-// char *iov_base;
-// /// Length.
-// size_t iov_len;
-//};
-//# endif
-
-//# if defined (ACE_HAS_BROKEN_WRITEV)
-//typedef struct iovec ACE_WRITEV_TYPE;
-//# else
-//typedef const struct iovec ACE_WRITEV_TYPE;
-//# endif /* ACE_HAS_BROKEN_WRITEV */
-//
-//# if defined (ACE_HAS_BROKEN_READV)
-//typedef const struct iovec ACE_READV_TYPE;
-//# else
-//typedef struct iovec ACE_READV_TYPE;
-//# endif /* ACE_HAS_BROKEN_READV */
-
-//# if defined (ACE_HAS_BROKEN_SETRLIMIT)
-//typedef struct rlimit ACE_SETRLIMIT_TYPE;
-//# else
-//typedef const struct rlimit ACE_SETRLIMIT_TYPE;
-//# endif /* ACE_HAS_BROKEN_SETRLIMIT */
-
# if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0)
# define ACE_MT(X) X
# if !defined (_REENTRANT)
@@ -1235,119 +1094,11 @@ _make_##SERVICE_CLASS (ACE_Service_Object_Exterminator *gobbler) \
# if defined (ACE_HAS_POSIX_SEM)
# include "ace/os_include/semaphore.h"
-//# if !defined (SEM_FAILED) && !defined (ACE_LACKS_NAMED_POSIX_SEM)
-//# define SEM_FAILED ((sem_t *) -1)
-//# endif /* !SEM_FAILED */
-//
-//typedef struct
-//{
-// /// Pointer to semaphore handle. This is allocated by ACE if we are
-// /// working with an unnamed POSIX semaphore or by the OS if we are
-// /// working with a named POSIX semaphore.
-// sem_t *sema_;
-//
-// /// Name of the semaphore (if this is non-NULL then this is a named
-// /// POSIX semaphore, else its an unnamed POSIX semaphore).
-// char *name_;
-//
-//# if defined (ACE_LACKS_NAMED_POSIX_SEM)
-// /// this->sema_ doesn't always get created dynamically if a platform
-// /// doesn't support named posix semaphores. We use this flag to
-// /// remember if we need to delete <sema_> or not.
-// int new_sema_;
-//# endif /* ACE_LACKS_NAMED_POSIX_SEM */
-//} ACE_sema_t;
# endif /* ACE_HAS_POSIX_SEM */
-//struct cancel_state
-//{
-// /// e.g., PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_DISABLE,
-// /// PTHREAD_CANCELED.
-// int cancelstate;
-//
-// /// e.g., PTHREAD_CANCEL_DEFERRED and PTHREAD_CANCEL_ASYNCHRONOUS.
-// int canceltype;
-//};
-
-//# if defined (ACE_HAS_WINCE)
# include "ace/os_include/sys/types.h" // /**/ <types.h>
-//# if (_WIN32_WCE < 400)
-//typedef unsigned long ptrdiff_t; // evc3, PocketPC don't defined ptrdiff_t
-//# else
# include "ace/os_include/stddef.h" // WinCE .NET puts it in stddef.h
-//# endif
-
-//typedef DWORD nlink_t;
-
-// CE's add-on for c-style fstat/stat functionalities. This struct is
-// by no mean complete compared to what you usually find in UNIX
-// platforms. Only members that have direct conversion using Win32's
-// BY_HANDLE_FILE_INFORMATION are defined so that users can discover
-// non-supported members at compile time. Time values are of type
-// ACE_Time_Value for easy comparison.
-
-// Since CE does not have _stat by default as NT/2000 does, the 'stat'
-// struct defined here will be used. Also note that CE file system
-// struct is only for the CE 3.0 or later.
-// Refer to the WCHAR.H from Visual C++ and WIBASE.H from eVC 3.0.
-
-//typedef unsigned int dev_t;
-
-//struct stat
-//{
-// /// always 0 on Windows platforms
-// dev_t st_dev;
-//
-// /// always 0 on Windows platforms
-// dev_t st_rdev;
-//
-// /// file attribute
-// unsigned short st_mode;
-//
-// /// number of hard links
-// short st_nlink;
-//
-// /// time of last access
-// ACE_Time_Value st_atime;
-//
-// /// time of last data modification
-// ACE_Time_Value st_mtime;
-//
-// /// time of creation
-// ACE_Time_Value st_ctime;
-//
-// /// file size, in bytes
-// off_t st_size;
-//
-// // Following members do not have direct conversion in Window platforms.
-//// u_long st_blksize; // optimal blocksize for I/O
-//// u_long st_flags; // user defined flags for file
-//};
-
-//# else /* ! ACE_HAS_WINCE */
-//# if defined (ACE_LACKS_SYS_TYPES_H) (continuation removed)
-// || (defined (__GLIBC__) && !defined (_BSD_SOURCE))
-//# if ! defined (ACE_PSOS)
-// typedef unsigned char u_char;
-// typedef unsigned short u_short;
-// typedef unsigned int u_int;
-// typedef unsigned long u_long;
-//
-// typedef unsigned char uchar_t;
-// typedef unsigned short ushort_t;
-// typedef unsigned int uint_t;
-// typedef unsigned long ulong_t;
-//# endif /* ! defined (ACE_PSOS) */
-//# else
-//# include "ace/os_include/sys/types.h"
-//# endif /* ACE_LACKS_SYS_TYPES_H */
-//
-//# if ! defined (ACE_PSOS)
-//# include "ace/os_include/sys/stat.h"
-//# endif
-//# endif /* ACE_HAS_WINCE */
-
#if !defined (ACE_LACKS_UNISTD_H)
# include "ace/os_include/unistd.h"
#endif /* ACE_LACKS_UNISTD_H */
@@ -1385,341 +1136,7 @@ _make_##SERVICE_CLASS (ACE_Service_Object_Exterminator *gobbler) \
# endif /* ! ACE_HAS_PTHREADS */
# if defined (ACE_HAS_PTHREADS)
-# define ACE_SCHED_OTHER SCHED_OTHER
-# define ACE_SCHED_FIFO SCHED_FIFO
-# define ACE_SCHED_RR SCHED_RR
-
-// Definitions for mapping POSIX pthreads draft 6 into 1003.1c names
-
-# if defined (ACE_HAS_PTHREADS_DRAFT6)
-# define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_LOCAL
-# define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_GLOBAL
-# define PTHREAD_CREATE_UNDETACHED 0
-# define PTHREAD_CREATE_DETACHED 1
-# define PTHREAD_CREATE_JOINABLE 0
-# define PTHREAD_EXPLICIT_SCHED 0
-# define PTHREAD_MIN_PRIORITY 0
-# define PTHREAD_MAX_PRIORITY 126
-# endif /* ACE_HAS_PTHREADS_DRAFT6 */
-
-// Definitions for THREAD- and PROCESS-LEVEL priorities...some
-// implementations define these while others don't. In order to
-// further complicate matters, we don't redefine the default (*_DEF)
-// values if they've already been defined, which allows individual
-// programs to have their own ACE-wide "default".
-
-// PROCESS-level values
-# if defined (_POSIX_PRIORITY_SCHEDULING) && \
- !defined(_UNICOS) && !defined(UNIXWARE_7_1)
-# define ACE_PROC_PRI_FIFO_MIN (sched_get_priority_min(SCHED_FIFO))
-# define ACE_PROC_PRI_RR_MIN (sched_get_priority_min(SCHED_RR))
-# if defined (HPUX)
- // HP-UX's other is the SCHED_HPUX class, which uses historical
- // values that have reverse semantics from POSIX (low value is
- // more important priority). To use these in pthreads calls,
- // the values need to be converted. The other scheduling classes
- // don't need this special treatment.
-# define ACE_PROC_PRI_OTHER_MIN \
- (sched_get_priority_min(SCHED_OTHER))
-# else
-# define ACE_PROC_PRI_OTHER_MIN (sched_get_priority_min(SCHED_OTHER))
-# endif /* HPUX */
-# else /* UNICOS is missing a sched_get_priority_min() implementation,
- SCO too */
-# define ACE_PROC_PRI_FIFO_MIN 0
-# define ACE_PROC_PRI_RR_MIN 0
-# define ACE_PROC_PRI_OTHER_MIN 0
-# endif
-
-# if defined (_POSIX_PRIORITY_SCHEDULING) && !defined(UNIXWARE_7_1)
-# define ACE_PROC_PRI_FIFO_MAX (sched_get_priority_max(SCHED_FIFO))
-# define ACE_PROC_PRI_RR_MAX (sched_get_priority_max(SCHED_RR))
-# if defined (HPUX)
-# define ACE_PROC_PRI_OTHER_MAX \
- (sched_get_priority_max(SCHED_OTHER))
-# else
-# define ACE_PROC_PRI_OTHER_MAX (sched_get_priority_max(SCHED_OTHER))
-# endif /* HPUX */
-# else /* SCO missing sched_get_priority_max() implementation */
-# define ACE_PROC_PRI_FIFO_MAX 59
-# define ACE_PROC_PRI_RR_MAX 59
-# define ACE_PROC_PRI_OTHER_MAX 59
-# endif
-
-# if !defined(ACE_PROC_PRI_FIFO_DEF)
-# define ACE_PROC_PRI_FIFO_DEF (ACE_PROC_PRI_FIFO_MIN + (ACE_PROC_PRI_FIFO_MAX - ACE_PROC_PRI_FIFO_MIN)/2)
-# endif
-# if !defined(ACE_PROC_PRI_RR_DEF)
-# define ACE_PROC_PRI_RR_DEF (ACE_PROC_PRI_RR_MIN + (ACE_PROC_PRI_RR_MAX - ACE_PROC_PRI_RR_MIN)/2)
-# endif
-# if !defined(ACE_PROC_PRI_OTHER_DEF)
-# define ACE_PROC_PRI_OTHER_DEF (ACE_PROC_PRI_OTHER_MIN + (ACE_PROC_PRI_OTHER_MAX - ACE_PROC_PRI_OTHER_MIN)/2)
-# endif
-
-// THREAD-level values
-# if defined(PRI_FIFO_MIN) && defined(PRI_FIFO_MAX) && defined(PRI_RR_MIN) && defined(PRI_RR_MAX) && defined(PRI_OTHER_MIN) && defined(PRI_OTHER_MAX)
-# if !defined (ACE_THR_PRI_FIFO_MIN)
-# define ACE_THR_PRI_FIFO_MIN (long) PRI_FIFO_MIN
-# endif /* !ACE_THR_PRI_FIFO_MIN */
-# if !defined (ACE_THR_PRI_FIFO_MAX)
-# define ACE_THR_PRI_FIFO_MAX (long) PRI_FIFO_MAX
-# endif /* !ACE_THR_PRI_FIFO_MAX */
-# if !defined (ACE_THR_PRI_RR_MIN)
-# define ACE_THR_PRI_RR_MIN (long) PRI_RR_MIN
-# endif /* !ACE_THR_PRI_RR_MIN */
-# if !defined (ACE_THR_PRI_RR_MAX)
-# define ACE_THR_PRI_RR_MAX (long) PRI_RR_MAX
-# endif /* !ACE_THR_PRI_RR_MAX */
-# if !defined (ACE_THR_PRI_OTHER_MIN)
-# define ACE_THR_PRI_OTHER_MIN (long) PRI_OTHER_MIN
-# endif /* !ACE_THR_PRI_OTHER_MIN */
-# if !defined (ACE_THR_PRI_OTHER_MAX)
-# define ACE_THR_PRI_OTHER_MAX (long) PRI_OTHER_MAX
-# endif /* !ACE_THR_PRI_OTHER_MAX */
-# elif defined (AIX)
- // AIX's priority range is 1 (low) to 127 (high). There aren't
- // any preprocessor macros I can find. PRIORITY_MIN is for
- // process priorities, as far as I can see, and does not apply
- // to thread priority. The 1 to 127 range is from the
- // pthread_attr_setschedparam man page (Steve Huston, 18-May-2001).
-# if !defined (ACE_THR_PRI_FIFO_MIN)
-# define ACE_THR_PRI_FIFO_MIN (long) 1
-# endif /* !ACE_THR_PRI_FIFO_MIN */
-# if !defined (ACE_THR_PRI_FIFO_MAX)
-# define ACE_THR_PRI_FIFO_MAX (long) 127
-# endif /* !ACE_THR_PRI_FIFO_MAX */
-# if !defined (ACE_THR_PRI_RR_MIN)
-# define ACE_THR_PRI_RR_MIN (long) 1
-# endif /* !ACE_THR_PRI_RR_MIN */
-# if !defined (ACE_THR_PRI_RR_MAX)
-# define ACE_THR_PRI_RR_MAX (long) 127
-# endif /* !ACE_THR_PRI_RR_MAX */
-# if !defined (ACE_THR_PRI_OTHER_MIN)
-# define ACE_THR_PRI_OTHER_MIN (long) 1
-# endif /* !ACE_THR_PRI_OTHER_MIN */
-# if !defined (ACE_THR_PRI_OTHER_MAX)
-# define ACE_THR_PRI_OTHER_MAX (long) 127
-# endif /* !ACE_THR_PRI_OTHER_MAX */
-# elif defined (sun)
-# if !defined (ACE_THR_PRI_FIFO_MIN)
-# define ACE_THR_PRI_FIFO_MIN (long) 0
-# endif /* !ACE_THR_PRI_FIFO_MIN */
-# if !defined (ACE_THR_PRI_FIFO_MAX)
-# define ACE_THR_PRI_FIFO_MAX (long) 59
-# endif /* !ACE_THR_PRI_FIFO_MAX */
-# if !defined (ACE_THR_PRI_RR_MIN)
-# define ACE_THR_PRI_RR_MIN (long) 0
-# endif /* !ACE_THR_PRI_RR_MIN */
-# if !defined (ACE_THR_PRI_RR_MAX)
-# define ACE_THR_PRI_RR_MAX (long) 59
-# endif /* !ACE_THR_PRI_RR_MAX */
-# if !defined (ACE_THR_PRI_OTHER_MIN)
-# define ACE_THR_PRI_OTHER_MIN (long) 0
-# endif /* !ACE_THR_PRI_OTHER_MIN */
-# if !defined (ACE_THR_PRI_OTHER_MAX)
-# define ACE_THR_PRI_OTHER_MAX (long) 127
-# endif /* !ACE_THR_PRI_OTHER_MAX */
-# else
-# if !defined (ACE_THR_PRI_FIFO_MIN)
-# define ACE_THR_PRI_FIFO_MIN (long) ACE_PROC_PRI_FIFO_MIN
-# endif /* !ACE_THR_PRI_FIFO_MIN */
-# if !defined (ACE_THR_PRI_FIFO_MAX)
-# define ACE_THR_PRI_FIFO_MAX (long) ACE_PROC_PRI_FIFO_MAX
-# endif /* !ACE_THR_PRI_FIFO_MAX */
-# if !defined (ACE_THR_PRI_RR_MIN)
-# define ACE_THR_PRI_RR_MIN (long) ACE_PROC_PRI_RR_MIN
-# endif /* !ACE_THR_PRI_RR_MIN */
-# if !defined (ACE_THR_PRI_RR_MAX)
-# define ACE_THR_PRI_RR_MAX (long) ACE_PROC_PRI_RR_MAX
-# endif /* !ACE_THR_PRI_RR_MAX */
-# if !defined (ACE_THR_PRI_OTHER_MIN)
-# define ACE_THR_PRI_OTHER_MIN (long) ACE_PROC_PRI_OTHER_MIN
-# endif /* !ACE_THR_PRI_OTHER_MIN */
-# if !defined (ACE_THR_PRI_OTHER_MAX)
-# define ACE_THR_PRI_OTHER_MAX (long) ACE_PROC_PRI_OTHER_MAX
-# endif /* !ACE_THR_PRI_OTHER_MAX */
-# endif
-# if !defined(ACE_THR_PRI_FIFO_DEF)
-# define ACE_THR_PRI_FIFO_DEF ((ACE_THR_PRI_FIFO_MIN + ACE_THR_PRI_FIFO_MAX)/2)
-# endif
-# if !defined(ACE_THR_PRI_RR_DEF)
-# define ACE_THR_PRI_RR_DEF ((ACE_THR_PRI_RR_MIN + ACE_THR_PRI_RR_MAX)/2)
-# endif
-# if !defined(ACE_THR_PRI_OTHER_DEF)
-# define ACE_THR_PRI_OTHER_DEF ((ACE_THR_PRI_OTHER_MIN + ACE_THR_PRI_OTHER_MAX)/2)
-# endif
-
-// Typedefs to help compatibility with Windows NT and Pthreads.
-typedef pthread_t ACE_hthread_t;
-typedef pthread_t ACE_thread_t;
-
-# if defined (ACE_HAS_TSS_EMULATION)
- typedef pthread_key_t ACE_OS_thread_key_t;
- typedef u_long ACE_thread_key_t;
-# else /* ! ACE_HAS_TSS_EMULATION */
- typedef pthread_key_t ACE_thread_key_t;
-# endif /* ! ACE_HAS_TSS_EMULATION */
-
-# if !defined (ACE_LACKS_COND_T)
-typedef pthread_mutex_t ACE_mutex_t;
-typedef pthread_cond_t ACE_cond_t;
-typedef pthread_condattr_t ACE_condattr_t;
-typedef pthread_mutexattr_t ACE_mutexattr_t;
-# endif /* ! ACE_LACKS_COND_T */
-typedef pthread_mutex_t ACE_thread_mutex_t;
-
-# if !defined (PTHREAD_CANCEL_DISABLE)
-# define PTHREAD_CANCEL_DISABLE 0
-# endif /* PTHREAD_CANCEL_DISABLE */
-
-# if !defined (PTHREAD_CANCEL_ENABLE)
-# define PTHREAD_CANCEL_ENABLE 0
-# endif /* PTHREAD_CANCEL_ENABLE */
-
-# if !defined (PTHREAD_CANCEL_DEFERRED)
-# define PTHREAD_CANCEL_DEFERRED 0
-# endif /* PTHREAD_CANCEL_DEFERRED */
-
-# if !defined (PTHREAD_CANCEL_ASYNCHRONOUS)
-# define PTHREAD_CANCEL_ASYNCHRONOUS 0
-# endif /* PTHREAD_CANCEL_ASYNCHRONOUS */
-
-# define THR_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
-# define THR_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
-# define THR_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
-# define THR_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
-
-# if !defined (PTHREAD_CREATE_JOINABLE)
-# if defined (PTHREAD_CREATE_UNDETACHED)
-# define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED
-# else
-# define PTHREAD_CREATE_JOINABLE 0
-# endif /* PTHREAD_CREATE_UNDETACHED */
-# endif /* PTHREAD_CREATE_JOINABLE */
-
-# if !defined (PTHREAD_CREATE_DETACHED)
-# define PTHREAD_CREATE_DETACHED 1
-# endif /* PTHREAD_CREATE_DETACHED */
-
-# if !defined (PTHREAD_PROCESS_PRIVATE) && !defined (ACE_HAS_PTHREAD_PROCESS_ENUM)
-# if defined (PTHREAD_MUTEXTYPE_FAST)
-# define PTHREAD_PROCESS_PRIVATE PTHREAD_MUTEXTYPE_FAST
-# else
-# define PTHREAD_PROCESS_PRIVATE 0
-# endif /* PTHREAD_MUTEXTYPE_FAST */
-# endif /* PTHREAD_PROCESS_PRIVATE */
-
-# if !defined (PTHREAD_PROCESS_SHARED) && !defined (ACE_HAS_PTHREAD_PROCESS_ENUM)
-# if defined (PTHREAD_MUTEXTYPE_FAST)
-# define PTHREAD_PROCESS_SHARED PTHREAD_MUTEXTYPE_FAST
-# else
-# define PTHREAD_PROCESS_SHARED 1
-# endif /* PTHREAD_MUTEXTYPE_FAST */
-# endif /* PTHREAD_PROCESS_SHARED */
-
-# if defined (ACE_HAS_PTHREADS_DRAFT4)
-# if defined (PTHREAD_PROCESS_PRIVATE)
-# if !defined (USYNC_THREAD)
-# define USYNC_THREAD PTHREAD_PROCESS_PRIVATE
-# endif /* ! USYNC_THREAD */
-# else
-# if !defined (USYNC_THREAD)
-# define USYNC_THREAD MUTEX_NONRECURSIVE_NP
-# endif /* ! USYNC_THREAD */
-# endif /* PTHREAD_PROCESS_PRIVATE */
-
-# if defined (PTHREAD_PROCESS_SHARED)
-# if !defined (USYNC_PROCESS)
-# define USYNC_PROCESS PTHREAD_PROCESS_SHARED
-# endif /* ! USYNC_PROCESS */
-# else
-# if !defined (USYNC_PROCESS)
-# define USYNC_PROCESS MUTEX_NONRECURSIVE_NP
-# endif /* ! USYNC_PROCESS */
-# endif /* PTHREAD_PROCESS_SHARED */
-# elif !defined (ACE_HAS_STHREADS)
-# if !defined (USYNC_THREAD)
-# define USYNC_THREAD PTHREAD_PROCESS_PRIVATE
-# endif /* ! USYNC_THREAD */
-# if !defined (USYNC_PROCESS)
-# define USYNC_PROCESS PTHREAD_PROCESS_SHARED
-# endif /* ! USYNC_PROCESS */
-# endif /* ACE_HAS_PTHREADS_DRAFT4 */
-
-/* MM-Graz: prevent warnings */
-#undef THR_BOUND
-#undef THR_NEW_LWP
-#undef THR_DETACHED
-#undef THR_SUSPENDED
-#undef THR_DAEMON
-
-# define THR_BOUND 0x00000001
-# if defined (CHORUS)
-# define THR_NEW_LWP 0x00000000
-# else
-# define THR_NEW_LWP 0x00000002
-# endif /* CHORUS */
-# define THR_DETACHED 0x00000040
-# define THR_SUSPENDED 0x00000080
-# define THR_DAEMON 0x00000100
-# define THR_JOINABLE 0x00010000
-# define THR_SCHED_FIFO 0x00020000
-# define THR_SCHED_RR 0x00040000
-# define THR_SCHED_DEFAULT 0x00080000
-
-# if defined (ACE_HAS_IRIX62_THREADS)
-# define THR_SCOPE_SYSTEM 0x00100000
-# else
-# define THR_SCOPE_SYSTEM THR_BOUND
-#endif /*ACE_HAS_IRIX62_THREADS*/
-
-# define THR_SCOPE_PROCESS 0x00200000
-# define THR_INHERIT_SCHED 0x00400000
-# define THR_EXPLICIT_SCHED 0x00800000
-# define THR_SCHED_IO 0x01000000
-
-# if !defined (ACE_HAS_STHREADS)
-# if !defined (ACE_HAS_POSIX_SEM)
-/**
- * @class ACE_sema_t
- *
- * @brief This is used to implement semaphores for platforms that support
- * POSIX pthreads, but do *not* support POSIX semaphores, i.e.,
- * it's a different type than the POSIX <sem_t>.
- */
-class ACE_OS_Export ACE_sema_t
-{
-friend class ACE_OS;
-protected:
- /// Serialize access to internal state.
- ACE_mutex_t lock_;
-
- /// Block until there are no waiters.
- ACE_cond_t count_nonzero_;
-
- /// Count of the semaphore.
- u_long count_;
-
- /// Number of threads that have called <ACE_OS::sema_wait>.
- u_long waiters_;
-};
-# endif /* !ACE_HAS_POSIX_SEM */
-
-# if defined (ACE_LACKS_PTHREAD_YIELD) && defined (ACE_HAS_THR_YIELD)
- // If we are on Solaris we can just reuse the existing
- // implementations of these synchronization types.
-# if !defined (ACE_LACKS_RWLOCK_T)
-# include /**/ <synch.h>
-typedef rwlock_t ACE_rwlock_t;
-# endif /* !ACE_LACKS_RWLOCK_T */
-# include /**/ <thread.h>
-# endif /* (ACE_LACKS_PTHREAD_YIELD) && defined (ACE_HAS_THR_YIELD) */
-
-# else
-# if !defined (ACE_HAS_POSIX_SEM)
-typedef sema_t ACE_sema_t;
-# endif /* !ACE_HAS_POSIX_SEM */
-# endif /* !ACE_HAS_STHREADS */
+// moved to pthread.h
# elif defined (ACE_HAS_STHREADS)
// Solaris threads, without PTHREADS.
// Typedefs to help compatibility with Windows NT and Pthreads.
@@ -1979,7 +1396,7 @@ public:
# define THR_SCHED_DEFAULT 0
# define THR_SCOPE_PROCESS 0
# define THR_SCOPE_SYSTEM 0
-# endif /* ACE_HAS_PTHREADS / STHREADS / PSOS / VXWORKS / WTHREADS */
+# endif /* ACE_HAS_PTHREADS / STHREADS / PSOS / VXWORKS / WTHREADS **********/
// If we're using PACE then we don't want this class (since PACE
// takes care of it) unless we're on Windows. Win32 mutexes, semaphores,
@@ -2087,8 +1504,8 @@ protected:
ACE_cond_t waiting_important_writer_;
// condition for the upgrading reader
};
-# elif defined (ACE_HAS_PTHREADS_UNIX98_EXT)
-typedef pthread_rwlock_t ACE_rwlock_t;
+//# elif defined (ACE_HAS_PTHREADS_UNIX98_EXT)
+//typedef pthread_rwlock_t ACE_rwlock_t;
# elif defined (ACE_HAS_STHREADS)
# include /**/ <synch.h>
typedef rwlock_t ACE_rwlock_t;
@@ -2323,20 +1740,6 @@ protected:
# if !defined (ACE_HAS_WINCE)
# include "ace/os_include/assert.h"
# include "ace/os_include/stdio.h"
-//// this is a nasty hack to get around problems with the
-//// pSOS definition of BUFSIZ as the config table entry
-//// (which is valued using the LC_BUFSIZ value anyway)
-//# if defined (ACE_PSOS)
-//# if defined (BUFSIZ)
-//# undef BUFSIZ
-//# endif /* defined (BUFSIZ) */
-//# define BUFSIZ LC_BUFSIZ
-//# endif /* defined (ACE_PSOS) */
-
-//#if defined (ACE_PSOS_DIAB_MIPS)
-//#undef size_t
-//typedef unsigned int size_t;
-//#endif
# if !defined (ACE_LACKS_NEW_H)
# if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB)
@@ -2365,44 +1768,6 @@ protected:
# endif /* ! ACE_PSOS_DIAB_MIPS */
# include "ace/os_include/float.h"
-//// This is defined by XOPEN to be a minimum of 16. POSIX.1g
-//// also defines this value. platform-specific config.h can
-//// override this if need be.
-//# if !defined (IOV_MAX)
-//# define IOV_MAX 16
-//# endif /* IOV_MAX */
-//
-//# if !defined (ACE_IOV_MAX)
-//#define ACE_IOV_MAX IOV_MAX
-//# endif /* ACE_IOV_MAX */
-
-# if defined (ACE_PSOS_SNARFS_HEADER_INFO)
- // Header information snarfed from compiler provided header files
- // that are not included because there is already an identically
- // named file provided with pSOS, which does not have this info
- // from compiler supplied stdio.h
- extern FILE *fdopen(int, const char *);
- extern int getopt(int, char *const *, const char *);
- extern char *tempnam(const char *, const char *);
- extern "C" int fileno(FILE *);
-
-// #define fileno(stream) ((stream)->_file)
-
- // from compiler supplied string.h
- extern char *strdup (const char *);
-
- // from compiler supplied stat.h
- extern mode_t umask (mode_t);
- extern int mkfifo (const char *, mode_t);
- extern int mkdir (const char *, mode_t);
-
- // from compiler supplied stdlib.h
- extern int putenv (char *);
-
- int isatty (int h);
-
-# endif /* ACE_PSOS_SNARFS_HEADER_INFO */
-
# if defined (ACE_NEEDS_SCHED_H)
# include "ace/os_include/sched.h"
# endif /* ACE_NEEDS_SCHED_H */
@@ -2439,146 +1804,20 @@ protected:
# endif /* ! ACE_PSOS_DIAB_MIPS */
# endif /* ACE_HAS_WINCE */
-//// This must come after signal.h is #included.
-//# if defined (SCO)
-//# define SIGIO SIGPOLL
-//# include /**/x <sys/regset.h> // Thu Apr 03 08:52:34 1997 David L. Levine <levine@cs.wustl.edu> todo: move to signal.h???
-//
-//# endif /* SCO */
-
# if defined ACE_HAS_BYTESEX_H
# include /**/x <bytesex.h>
# endif /* ACE_HAS_BYTESEX_H */
# include "ace/Basic_Types.h"
-///* This should work for linux, solaris 5.6 and above, IRIX, OSF */
-//# if defined (ACE_HAS_LLSEEK) || defined (ACE_HAS_LSEEK64)
-//# if ACE_SIZEOF_LONG == 8
-// typedef off_t ACE_LOFF_T;
-//# elif defined (__sgi) || defined (AIX) || defined (HPUX) (continuation removed)
-// || defined (__QNX__)
-// typedef off64_t ACE_LOFF_T;
-//# elif defined (__sun)
-// typedef offset_t ACE_LOFF_T;
-//# elif defined (WIN32) //Add by Nick Lin -- for win32 llseek
-// typedef __int64 ACE_LOFF_T; //Add by Nick Lin -- for win32 llseek
-//# else
-// typedef loff_t ACE_LOFF_T;
-//# endif
-//# endif /* ACE_HAS_LLSEEK || ACE_HAS_LSEEK64 */
-
// Type-safe, and unsigned.
static const ACE_UINT32 ACE_U_ONE_SECOND_IN_MSECS = 1000U;
static const ACE_UINT32 ACE_U_ONE_SECOND_IN_USECS = 1000000U;
static const ACE_UINT32 ACE_U_ONE_SECOND_IN_NSECS = 1000000000U;
-//# if defined (ACE_HAS_SIG_MACROS)
-//# undef sigemptyset
-//# undef sigfillset
-//# undef sigaddset
-//# undef sigdelset
-//# undef sigismember
-//# endif /* ACE_HAS_SIG_MACROS */
-
-//// This must come after signal.h is #included. It's to counteract
-//// the sigemptyset and sigfillset #defines, which only happen
-//// when __OPTIMIZE__ is #defined (really!) on Linux.
-//# if defined (linux) && defined (__OPTIMIZE__)
-//# undef sigemptyset
-//# undef sigfillset
-//# endif /* linux && __OPTIMIZE__ */
-
-// Prototypes should come after ace/Basic_Types.h since some types may
-// be used in the prototypes.
-
-//#if defined (ACE_LACKS_GETPGID_PROTOTYPE) && (continuation removed)
-// !defined (_XOPEN_SOURCE) && !defined (_XOPEN_SOURCE_EXTENDED)
-//extern "C" pid_t getpgid (pid_t pid);
-//#endif /* ACE_LACKS_GETPGID_PROTOTYPE &&
-// !_XOPEN_SOURCE && !_XOPEN_SOURCE_EXTENDED */
-
-//#if defined (ACE_LACKS_STRPTIME_PROTOTYPE) && !defined (_XOPEN_SOURCE)
-//extern "C" char *strptime (const char *s, const char *fmt, struct tm *tp);
-//#endif /* ACE_LACKS_STRPTIME_PROTOTYPE */
-
-//#if defined (ACE_LACKS_STRTOK_R_PROTOTYPE) && !defined (_POSIX_SOURCE)
-//extern "C" char *strtok_r (char *s, const char *delim, char **save_ptr);
-//#endif /* ACE_LACKS_STRTOK_R_PROTOTYPE */
-
-//#if !defined (_LARGEFILE64_SOURCE)
-//# if defined (ACE_LACKS_LSEEK64_PROTOTYPE) && (continuation removed)
-// defined (ACE_LACKS_LLSEEK_PROTOTYPE)
-//# error Define either ACE_LACKS_LSEEK64_PROTOTYPE or ACE_LACKS_LLSEEK_PROTOTYPE, not both!
-//# elif defined (ACE_LACKS_LSEEK64_PROTOTYPE)
-//extern "C" ACE_LOFF_T lseek64 (int fd, ACE_LOFF_T offset, int whence);
-//# elif defined (ACE_LACKS_LLSEEK_PROTOTYPE)
-//extern "C" ACE_LOFF_T llseek (int fd, ACE_LOFF_T offset, int whence);
-//# endif
-//#endif /* _LARGEFILE64_SOURCE */
-
-//#if defined (ACE_LACKS_PREAD_PROTOTYPE) && (_XOPEN_SOURCE - 0) < 500
-//// _XOPEN_SOURCE == 500 Single Unix conformance
-//// It seems that _XOPEN_SOURCE == 500 means that the prototypes are
-//// already defined in the system headers.
-//extern "C" ssize_t pread (int fd,
-// void *buf,
-// size_t nbytes,
-// off_t offset);
-//
-//extern "C" ssize_t pwrite (int fd,
-// const void *buf,
-// size_t n,
-// off_t offset);
-//#endif /* ACE_LACKS_PREAD_PROTOTYPE && (_XOPEN_SOURCE - 0) < 500 */
-
-//# if defined (ACE_LACKS_UALARM_PROTOTYPE)
-//extern "C" u_int ualarm (u_int usecs, u_int interval);
-//# endif /* ACE_LACKS_UALARM_PROTOTYPE */
-
-//# if defined (ACE_HAS_BROKEN_SENDMSG)
-//typedef struct msghdr ACE_SENDMSG_TYPE;
-//# else
-//typedef const struct msghdr ACE_SENDMSG_TYPE;
-//# endif /* ACE_HAS_BROKEN_SENDMSG */
-
-//# if defined (ACE_HAS_BROKEN_RANDR)
-//// 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;
-//# else
-//typedef u_int ACE_RANDR_TYPE;
-//# endif /* HPUX_10 */
-//# endif /* ACE_HAS_BROKEN_RANDR */
-
# if defined (ACE_HAS_UTIME)
# include "ace/os_include/utime.h"
# endif /* ACE_HAS_UTIME */
-//# if !defined (ACE_HAS_MSG) && !defined (SCO)
-//struct msghdr {};
-//# endif /* ACE_HAS_MSG */
-
-//# if defined (ACE_HAS_MSG) && defined (ACE_LACKS_MSG_ACCRIGHTS)
-//# if !defined (msg_accrights)
-//# undef msg_control
-//# define msg_accrights msg_control
-//# endif /* ! msg_accrights */
-//
-//# if !defined (msg_accrightslen)
-//# undef msg_controllen
-//# define msg_accrightslen msg_controllen
-//# endif /* ! msg_accrightslen */
-//# endif /* ACE_HAS_MSG && ACE_LACKS_MSG_ACCRIGHTS */
-
-//# if !defined (ACE_HAS_SIG_ATOMIC_T)
-//typedef int sig_atomic_t;
-//# endif /* !ACE_HAS_SIG_ATOMIC_T */
-
# if defined (ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES)
// Prototypes for both signal() and struct sigaction are consistent..
# if defined (ACE_HAS_SIG_C_FUNC)
@@ -2632,12 +1871,6 @@ typedef void (*ACE_SignalHandler)(int);
typedef void (*ACE_SignalHandlerV)(...);
# endif /* ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES */
-//# if defined (BUFSIZ)
-//# define ACE_STREAMBUF_SIZE BUFSIZ
-//# else
-//# define ACE_STREAMBUF_SIZE 1024
-//# endif /* BUFSIZ */
-
# if defined (ACE_WIN32)
// Turn off warnings for /W4
// To resume any of these warning: #pragma warning(default: 4xxx)
@@ -2695,23 +1928,6 @@ typedef void (*ACE_SignalHandlerV)(...);
# endif /* ACE_USES_CLASSIC_SVC_CONF ==1 */
# endif /* ACE_DEFAULT_SVC_CONF */
-//// The following are #defines and #includes that are specific to
-//// WIN32.
-//# if defined (ACE_HAS_WINCE)
-//# define ACE_STDIN _fileno (stdin)
-//# define ACE_STDOUT _fileno (stdout)
-//# define ACE_STDERR _fileno (stderr)
-//# else
-//# define ACE_STDIN GetStdHandle (STD_INPUT_HANDLE)
-//# define ACE_STDOUT GetStdHandle (STD_OUTPUT_HANDLE)
-//# define ACE_STDERR GetStdHandle (STD_ERROR_HANDLE)
-//# endif // ACE_HAS_WINCE
-
-//// Default semaphore key and mutex name
-//# if !defined (ACE_DEFAULT_SEM_KEY)
-//# define ACE_DEFAULT_SEM_KEY "ACE_SEM_KEY"
-//# endif /* ACE_DEFAULT_SEM_KEY */
-
# define ACE_INVALID_SEM_KEY 0
# if !defined (ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS)
@@ -2753,39 +1969,7 @@ typedef void (*ACE_SignalHandlerV)(...);
# define ACE_DLL_PREFIX ACE_LIB_TEXT ("")
# endif /* __MINGW32__ */
-//// This will help until we figure out everything:
-//# define NFDBITS 32 /* only used in unused functions... */
-//// These two may be used for internal flags soon:
-//# define MAP_PRIVATE 1
-//# define MAP_SHARED 2
-//# define MAP_FIXED 4
-
-//# define RUSAGE_SELF 1
-
-//struct shmaddr { };
-//struct msqid_ds {};
-
-///// Fake the UNIX rusage structure. Perhaps we can add more to this
-///// later on?
-//struct rusage
-//{
-// FILETIME ru_utime;
-// FILETIME ru_stime;
-//};
-
#include "ace/os_include/sys/mman.h" //// MMAP flags
-//# define PROT_READ PAGE_READONLY
-//# define PROT_WRITE PAGE_READWRITE
-//# define PROT_RDWR PAGE_READWRITE
-/* If we can find suitable use for these flags, here they are:
-PAGE_WRITECOPY
-PAGE_EXECUTE
-PAGE_EXECUTE_READ
-PAGE_EXECUTE_READWRITE
-PAGE_EXECUTE_WRITECOPY
-PAGE_GUARD
-PAGE_NOACCESS
-PAGE_NOCACHE */
# if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
# include "ace/os_include/netinet/in.h" // <ws2tcpip.h>
@@ -2841,46 +2025,13 @@ PAGE_NOCACHE */
# include "ace/os_include/time.h"
# include "ace/os_include/sys/stat.h" // <direct.h>
# include "ace/os_include/unistd.h" // <process.h>
-//# include /**/ <io.h>
# endif /* ACE_HAS_WINCE */
-//# if defined (__BORLANDC__)
# include "ace/os_include/fcntl.h"
-//# define _chdir chdir
-//# define _ftime ftime
-//# undef _access
-//# define _access access
-//# if (__BORLANDC__ <= 0x540)
-//# define _getcwd getcwd
-//# define _stat stat
-//# endif
-//# define _isatty isatty
-//# define _umask umask
-//# define _fstat fstat
-//# define _stricmp stricmp
-//# define _strnicmp strnicmp
-
-//# define _timeb timeb
-
-//# define _O_CREAT O_CREAT
-//# define _O_EXCL O_EXCL
-//# define _O_TRUNC O_TRUNC
-// // 0x0800 is used for O_APPEND. 0x08 looks free.
-//# define _O_TEMPORARY 0x08 /* see fcntl.h */
-//# define _O_RDWR O_RDWR
-//# define _O_WRONLY O_WRONLY
-//# define _O_RDONLY O_RDONLY
-//# define _O_APPEND O_APPEND
-//# define _O_BINARY O_BINARY
-//# define _O_TEXT O_TEXT
-//# endif /* __BORLANDC__ */
typedef OVERLAPPED ACE_OVERLAPPED;
typedef DWORD ACE_thread_t;
-//# if !defined(__MINGW32__)
-//typedef long pid_t;
-//# endif /* __MINGW32__ */
typedef HANDLE ACE_hthread_t;
#define ACE_INVALID_PID ((pid_t) -1)
@@ -2918,16 +2069,6 @@ typedef ACE_UINT64 ACE_hrtime_t;
# endif
# endif /* ACE_HAS_WINCE */
-//# if !defined (__BORLANDC__)
-//typedef DWORD nlink_t;
-//# if !defined(__MINGW32__)
-//typedef u_short mode_t;
-//# endif /* !__MINGW32__ */
-//typedef long uid_t;
-//typedef long gid_t;
-//# endif /* __BORLANDC__ */
-//typedef char *caddr_t;
-
typedef DWORD ACE_exitcode;
# define ACE_SYSCALL_FAILED 0xFFFFFFFF
@@ -2959,26 +2100,6 @@ struct iovec
#endif /* defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) */
};
-//struct msghdr
-//{
-// /// Optional address
-// sockaddr * msg_name;
-//
-// /// Size of address
-// int msg_namelen;
-//
-// /// Scatter/gather array
-// iovec *msg_iov;
-//
-// /// # elements in msg_iov
-// int msg_iovlen;
-//
-// /// Access rights sent/received
-// caddr_t msg_accrights;
-//
-// int msg_accrightslen;
-//};
-
typedef int ACE_idtype_t;
typedef DWORD ACE_id_t;
# define ACE_SELF (0)
@@ -3006,11 +2127,6 @@ typedef ACE_UINT64 ACE_hrtime_t;
// Default port is MAX_SHORT.
# define ACE_MAX_DEFAULT_PORT 65535
-//// Default semaphore key
-//# if !defined (ACE_DEFAULT_SEM_KEY)
-//# define ACE_DEFAULT_SEM_KEY 1234
-//# endif /* ACE_DEFAULT_SEM_KEY */
-
# define ACE_INVALID_SEM_KEY -1
// Define the pathname separator characters for UNIX.
@@ -3044,12 +2160,6 @@ typedef ACE_UINT64 ACE_hrtime_t;
# endif /* ACE_USES_CLASSIC_SVC_CONF ==1 */
# endif /* ACE_DEFAULT_SVC_CONF */
-//// The following are #defines and #includes that are specific to UNIX.
-//
-//# define ACE_STDIN 0
-//# define ACE_STDOUT 1
-//# define ACE_STDERR 2
-
// Be consistent with Winsock naming
typedef int ACE_exitcode;
# define ACE_INVALID_HANDLE -1
@@ -3354,9 +2464,7 @@ extern "C"
# include "ace/os_include/aio.h"
# endif /* ACE_HAS_AIO_CALLS */
-//# if !defined (ACE_LACKS_PARAM_H) Programs that are intended to comply with the POSIX standard should include the /usr/include/sys/limits.h file rather than the param.h file.
# include "ace/os_include/limits.h" // <sys/param.h>
-//# endif /* ACE_LACKS_PARAM_H */
// This is here for ACE_OS::num_processors_online(). On HP-UX, it
// needs sys/param.h (above) and sys/pstat.h. The implementation of the
@@ -3370,21 +2478,6 @@ extern "C"
# include "ace/os_include/sys/un.h"
# endif /* ACE_LACKS_UNIX_DOMAIN_SOCKETS */
-//# if defined (ACE_HAS_SIGINFO_T)
-//# if !defined (ACE_LACKS_SIGINFO_H)
-//# if defined (__QNX__) || defined (__OpenBSD__)
-//# include "ace/os_include/signal.h" // <sys/siginfo.h>
-//# elif defined(__rtems__)
-//# include "ace/os_include/signal.h"
-//# else /* __QNX__ || __OpenBSD__ */
-//# include "ace/os_include/signal.h" // <siginfo.h>
-//# endif /* __QNX__ || __OpenBSD__ */
-//# endif /* ACE_LACKS_SIGINFO_H */
-//# if !defined (ACE_LACKS_UCONTEXT_H)
-//# include "ace/os_include/ucontext.h"
-//# endif /* ACE_LACKS_UCONTEXT_H */
-//# endif /* ACE_HAS_SIGINFO_T */
-
# if defined (ACE_HAS_POLL)
# include "ace/os_include/poll.h"
# endif /* ACE_HAS_POLL */
@@ -3480,10 +2573,6 @@ extern "C" {
#define RTLD_GLOBAL 3
#endif /* !RTLD_GLOBAL */
-//# if defined (ACE_HAS_SOCKIO_H)
-//# include /**/ <sys/sockio.h>
-//# endif /* ACE_HAS_SOCKIO_ */
-
// There must be a better way to do this...
# if !defined (RLIMIT_NOFILE)
# if defined (linux) || defined (AIX) || defined (SCO)
@@ -3516,26 +2605,7 @@ extern "C"
# include "ace/os_include/sys/mman.h"
# endif /* ACE_HAS_BROKEN_MMAP_H */
-//// OSF1 has problems with sys/msg.h and C++...
-//# if defined (ACE_HAS_BROKEN_MSG_H)
-//# define _KERNEL
-//# endif /* ACE_HAS_BROKEN_MSG_H */
-//# if !defined (ACE_LACKS_SYSV_MSG_H)
# include "ace/os_include/sys/msg.h"
-//# endif /* ACE_LACKS_SYSV_MSG_H */
-//# if defined (ACE_HAS_BROKEN_MSG_H)
-//# undef _KERNEL
-//# endif /* ACE_HAS_BROKEN_MSG_H */
-
-//# if defined (ACE_LACKS_SYSV_MSQ_PROTOS)
-//extern "C"
-//{
-// int msgget (key_t, int);
-// int msgrcv (int, void *, size_t, long, int);
-// int msgsnd (int, const void *, size_t, int);
-// int msgctl (int, int, struct msqid_ds *);
-//}
-//# endif /* ACE_LACKS_SYSV_MSQ_PROTOS */
# if defined (ACE_HAS_PRIOCNTL)
# include /**/ <sys/priocntl.h>
@@ -3754,74 +2824,6 @@ struct sigaction
};
# endif /* ACE_LACKS_SIGACTION */
-//# if !defined (SIGHUP)
-//# define SIGHUP 0
-//# endif /* SIGHUP */
-//
-//# if !defined (SIGINT)
-//# define SIGINT 0
-//# endif /* SIGINT */
-//
-//# if !defined (SIGSEGV)
-//# define SIGSEGV 0
-//# endif /* SIGSEGV */
-//
-//# if !defined (SIGIO)
-//# define SIGIO 0
-//# endif /* SIGSEGV */
-//
-//# if !defined (SIGUSR1)
-//# define SIGUSR1 0
-//# endif /* SIGUSR1 */
-//
-//# if !defined (SIGUSR2)
-//# define SIGUSR2 0
-//# endif /* SIGUSR2 */
-//
-//# if !defined (SIGCHLD)
-//# define SIGCHLD 0
-//# endif /* SIGCHLD */
-//
-//# if !defined (SIGCLD)
-//# define SIGCLD SIGCHLD
-//# endif /* SIGCLD */
-//
-//# if !defined (SIGQUIT)
-//# define SIGQUIT 0
-//# endif /* SIGQUIT */
-//
-//# if !defined (SIGPIPE)
-//# define SIGPIPE 0
-//# endif /* SIGPIPE */
-//
-//# if !defined (SIGALRM)
-//# define SIGALRM 0
-//# endif /* SIGALRM */
-//
-//# if !defined (SIG_DFL)
-//# if defined (ACE_PSOS_DIAB_MIPS) || defined (ACE_PSOS_DIAB_PPC)
-//# define SIG_DFL ((void *) 0)
-//# else
-//# define SIG_DFL ((__sighandler_t) 0)
-//# endif
-//# endif /* SIG_DFL */
-//
-//# if !defined (SIG_IGN)
-//# if defined (ACE_PSOS_DIAB_MIPS) || defined (ACE_PSOS_DIAB_PPC)
-//# define SIG_IGN ((void *) 1) /* ignore signal */
-//# else
-//# define SIG_IGN ((__sighandler_t) 1) /* ignore signal */
-//# endif
-//# endif /* SIG_IGN */
-//
-//# if !defined (SIG_ERR)
-//# if defined (ACE_PSOS_DIAB_MIPS) || defined (ACE_PSOS_DIAB_PPC)
-//# define SIG_ERR ((void *) -1) /* error return from signal */
-//# else
-//# define SIG_ERR ((__sighandler_t) -1) /* error return from signal */
-//# endif
-//# endif /* SIG_ERR */
-
# if !defined (O_NONBLOCK)
# define O_NONBLOCK 1
# endif /* O_NONBLOCK */
@@ -3987,25 +2989,6 @@ struct sigaction
# define PIPE_BUF 5120
# endif /* PIPE_BUF */
-//# if !defined (PROT_RDWR)
-//# define PROT_RDWR (PROT_READ|PROT_WRITE)
-//# endif /* PROT_RDWR */
-
-//# if defined (ACE_HAS_POSIX_NONBLOCK)
-//# define ACE_NONBLOCK O_NONBLOCK
-//# else
-//# define ACE_NONBLOCK O_NDELAY
-//# endif /* ACE_HAS_POSIX_NONBLOCK */
-
-//// These are used by the <ACE_IPC_SAP::enable> and
-//// <ACE_IPC_SAP::disable> methods. They must be unique and cannot
-//// conflict with the value of <ACE_NONBLOCK>. We make the numbers
-//// negative here so they won't conflict with other values like SIGIO,
-//// etc.
-//# define ACE_SIGIO -1
-//# define ACE_SIGURG -2
-//# define ACE_CLOEXEC -3
-
# define LOCALNAME 0
# define REMOTENAME 1
@@ -4113,18 +3096,6 @@ typedef int ucontext_t;
# define SA_RESTART 0
# endif /* SA_RESTART */
-//# if defined (ACE_HAS_TIMOD_H)
-//# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
-//# define queue _Queue_
-//# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
-//# include /**/ <sys/timod.h>
-//# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
-//# undef queue
-//# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
-//# elif defined (ACE_HAS_OSF_TIMOD_H)
-//# include /**/ <tli/timod.h>
-//# endif /* ACE_HAS_TIMOD_H */
-
/**
* @class ACE_Thread_ID
*
@@ -4372,10 +3343,6 @@ typedef double ACE_timer_t;
# include "ace/os_include/syslog.h"
# endif /* !defined (ACE_WIN32) && !defined (ACE_LACKS_UNIX_SYSLOG) */
-//# if defined (ACE_HAS_SYS_FILIO_H)
-//# include /**/ <sys/filio.h>
-//# endif /* ACE_HAS_SYS_FILIO_H */
-
# if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE) && !defined (__BORLANDC__)
typedef struct _stat ACE_stat;
# else
diff --git a/ace/Timer_Queue_T.cpp b/ace/Timer_Queue_T.cpp
index e63c618c0d4..30140ee2a5d 100644
--- a/ace/Timer_Queue_T.cpp
+++ b/ace/Timer_Queue_T.cpp
@@ -19,6 +19,13 @@
ACE_RCSID(ace, Timer_Queue_T, "$Id$")
+// This fudge factor can be overriden for timers that need it, such as on
+// Solaris, by defining the ACE_TIMER_SKEW symbol in the appropriate config
+// header.
+#if !defined (ACE_TIMER_SKEW)
+# define ACE_TIMER_SKEW 0
+#endif /* ACE_TIMER_SKEW */
+
template <class TYPE> void
ACE_Timer_Node_T<TYPE>::dump (void) const
{
diff --git a/ace/os_include/pthread.h b/ace/os_include/pthread.h
index 727f32f1c60..d2a40cfd761 100644
--- a/ace/os_include/pthread.h
+++ b/ace/os_include/pthread.h
@@ -50,5 +50,348 @@ extern "C" pthread_t pthread_self (void);
# include /**/ <pthread.h>
#endif /* !ACE_LACKS_PTHREAD_H */
+
+#if defined (ACE_HAS_PTHREADS)
+# define ACE_SCHED_OTHER SCHED_OTHER
+# define ACE_SCHED_FIFO SCHED_FIFO
+# define ACE_SCHED_RR SCHED_RR
+
+// Definitions for mapping POSIX pthreads draft 6 into 1003.1c names
+
+# if defined (ACE_HAS_PTHREADS_DRAFT6)
+# define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_LOCAL
+# define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_GLOBAL
+# define PTHREAD_CREATE_UNDETACHED 0
+# define PTHREAD_CREATE_DETACHED 1
+# define PTHREAD_CREATE_JOINABLE 0
+# define PTHREAD_EXPLICIT_SCHED 0
+# define PTHREAD_MIN_PRIORITY 0
+# define PTHREAD_MAX_PRIORITY 126
+# endif /* ACE_HAS_PTHREADS_DRAFT6 */
+
+// Definitions for THREAD- and PROCESS-LEVEL priorities...some
+// implementations define these while others don't. In order to
+// further complicate matters, we don't redefine the default (*_DEF)
+// values if they've already been defined, which allows individual
+// programs to have their own ACE-wide "default".
+
+// PROCESS-level values
+# if defined (_POSIX_PRIORITY_SCHEDULING) && \
+ !defined(_UNICOS) && !defined(UNIXWARE_7_1)
+# define ACE_PROC_PRI_FIFO_MIN (sched_get_priority_min(SCHED_FIFO))
+# define ACE_PROC_PRI_RR_MIN (sched_get_priority_min(SCHED_RR))
+# if defined (HPUX)
+ // HP-UX's other is the SCHED_HPUX class, which uses historical
+ // values that have reverse semantics from POSIX (low value is
+ // more important priority). To use these in pthreads calls,
+ // the values need to be converted. The other scheduling classes
+ // don't need this special treatment.
+# define ACE_PROC_PRI_OTHER_MIN \
+ (sched_get_priority_min(SCHED_OTHER))
+# else
+# define ACE_PROC_PRI_OTHER_MIN (sched_get_priority_min(SCHED_OTHER))
+# endif /* HPUX */
+# else /* UNICOS is missing a sched_get_priority_min() implementation,
+ SCO too */
+# define ACE_PROC_PRI_FIFO_MIN 0
+# define ACE_PROC_PRI_RR_MIN 0
+# define ACE_PROC_PRI_OTHER_MIN 0
+# endif
+
+# if defined (_POSIX_PRIORITY_SCHEDULING) && !defined(UNIXWARE_7_1)
+# define ACE_PROC_PRI_FIFO_MAX (sched_get_priority_max(SCHED_FIFO))
+# define ACE_PROC_PRI_RR_MAX (sched_get_priority_max(SCHED_RR))
+# if defined (HPUX)
+# define ACE_PROC_PRI_OTHER_MAX \
+ (sched_get_priority_max(SCHED_OTHER))
+# else
+# define ACE_PROC_PRI_OTHER_MAX (sched_get_priority_max(SCHED_OTHER))
+# endif /* HPUX */
+# else /* SCO missing sched_get_priority_max() implementation */
+# define ACE_PROC_PRI_FIFO_MAX 59
+# define ACE_PROC_PRI_RR_MAX 59
+# define ACE_PROC_PRI_OTHER_MAX 59
+# endif
+
+# if !defined(ACE_PROC_PRI_FIFO_DEF)
+# define ACE_PROC_PRI_FIFO_DEF (ACE_PROC_PRI_FIFO_MIN + (ACE_PROC_PRI_FIFO_MAX - ACE_PROC_PRI_FIFO_MIN)/2)
+# endif
+# if !defined(ACE_PROC_PRI_RR_DEF)
+# define ACE_PROC_PRI_RR_DEF (ACE_PROC_PRI_RR_MIN + (ACE_PROC_PRI_RR_MAX - ACE_PROC_PRI_RR_MIN)/2)
+# endif
+# if !defined(ACE_PROC_PRI_OTHER_DEF)
+# define ACE_PROC_PRI_OTHER_DEF (ACE_PROC_PRI_OTHER_MIN + (ACE_PROC_PRI_OTHER_MAX - ACE_PROC_PRI_OTHER_MIN)/2)
+# endif
+
+// THREAD-level values
+# if defined(PRI_FIFO_MIN) && defined(PRI_FIFO_MAX) && defined(PRI_RR_MIN) && defined(PRI_RR_MAX) && defined(PRI_OTHER_MIN) && defined(PRI_OTHER_MAX)
+# if !defined (ACE_THR_PRI_FIFO_MIN)
+# define ACE_THR_PRI_FIFO_MIN (long) PRI_FIFO_MIN
+# endif /* !ACE_THR_PRI_FIFO_MIN */
+# if !defined (ACE_THR_PRI_FIFO_MAX)
+# define ACE_THR_PRI_FIFO_MAX (long) PRI_FIFO_MAX
+# endif /* !ACE_THR_PRI_FIFO_MAX */
+# if !defined (ACE_THR_PRI_RR_MIN)
+# define ACE_THR_PRI_RR_MIN (long) PRI_RR_MIN
+# endif /* !ACE_THR_PRI_RR_MIN */
+# if !defined (ACE_THR_PRI_RR_MAX)
+# define ACE_THR_PRI_RR_MAX (long) PRI_RR_MAX
+# endif /* !ACE_THR_PRI_RR_MAX */
+# if !defined (ACE_THR_PRI_OTHER_MIN)
+# define ACE_THR_PRI_OTHER_MIN (long) PRI_OTHER_MIN
+# endif /* !ACE_THR_PRI_OTHER_MIN */
+# if !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX (long) PRI_OTHER_MAX
+# endif /* !ACE_THR_PRI_OTHER_MAX */
+# elif defined (AIX)
+ // AIX's priority range is 1 (low) to 127 (high). There aren't
+ // any preprocessor macros I can find. PRIORITY_MIN is for
+ // process priorities, as far as I can see, and does not apply
+ // to thread priority. The 1 to 127 range is from the
+ // pthread_attr_setschedparam man page (Steve Huston, 18-May-2001).
+# if !defined (ACE_THR_PRI_FIFO_MIN)
+# define ACE_THR_PRI_FIFO_MIN (long) 1
+# endif /* !ACE_THR_PRI_FIFO_MIN */
+# if !defined (ACE_THR_PRI_FIFO_MAX)
+# define ACE_THR_PRI_FIFO_MAX (long) 127
+# endif /* !ACE_THR_PRI_FIFO_MAX */
+# if !defined (ACE_THR_PRI_RR_MIN)
+# define ACE_THR_PRI_RR_MIN (long) 1
+# endif /* !ACE_THR_PRI_RR_MIN */
+# if !defined (ACE_THR_PRI_RR_MAX)
+# define ACE_THR_PRI_RR_MAX (long) 127
+# endif /* !ACE_THR_PRI_RR_MAX */
+# if !defined (ACE_THR_PRI_OTHER_MIN)
+# define ACE_THR_PRI_OTHER_MIN (long) 1
+# endif /* !ACE_THR_PRI_OTHER_MIN */
+# if !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX (long) 127
+# endif /* !ACE_THR_PRI_OTHER_MAX */
+# elif defined (sun)
+# if !defined (ACE_THR_PRI_FIFO_MIN)
+# define ACE_THR_PRI_FIFO_MIN (long) 0
+# endif /* !ACE_THR_PRI_FIFO_MIN */
+# if !defined (ACE_THR_PRI_FIFO_MAX)
+# define ACE_THR_PRI_FIFO_MAX (long) 59
+# endif /* !ACE_THR_PRI_FIFO_MAX */
+# if !defined (ACE_THR_PRI_RR_MIN)
+# define ACE_THR_PRI_RR_MIN (long) 0
+# endif /* !ACE_THR_PRI_RR_MIN */
+# if !defined (ACE_THR_PRI_RR_MAX)
+# define ACE_THR_PRI_RR_MAX (long) 59
+# endif /* !ACE_THR_PRI_RR_MAX */
+# if !defined (ACE_THR_PRI_OTHER_MIN)
+# define ACE_THR_PRI_OTHER_MIN (long) 0
+# endif /* !ACE_THR_PRI_OTHER_MIN */
+# if !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX (long) 127
+# endif /* !ACE_THR_PRI_OTHER_MAX */
+# else
+# if !defined (ACE_THR_PRI_FIFO_MIN)
+# define ACE_THR_PRI_FIFO_MIN (long) ACE_PROC_PRI_FIFO_MIN
+# endif /* !ACE_THR_PRI_FIFO_MIN */
+# if !defined (ACE_THR_PRI_FIFO_MAX)
+# define ACE_THR_PRI_FIFO_MAX (long) ACE_PROC_PRI_FIFO_MAX
+# endif /* !ACE_THR_PRI_FIFO_MAX */
+# if !defined (ACE_THR_PRI_RR_MIN)
+# define ACE_THR_PRI_RR_MIN (long) ACE_PROC_PRI_RR_MIN
+# endif /* !ACE_THR_PRI_RR_MIN */
+# if !defined (ACE_THR_PRI_RR_MAX)
+# define ACE_THR_PRI_RR_MAX (long) ACE_PROC_PRI_RR_MAX
+# endif /* !ACE_THR_PRI_RR_MAX */
+# if !defined (ACE_THR_PRI_OTHER_MIN)
+# define ACE_THR_PRI_OTHER_MIN (long) ACE_PROC_PRI_OTHER_MIN
+# endif /* !ACE_THR_PRI_OTHER_MIN */
+# if !defined (ACE_THR_PRI_OTHER_MAX)
+# define ACE_THR_PRI_OTHER_MAX (long) ACE_PROC_PRI_OTHER_MAX
+# endif /* !ACE_THR_PRI_OTHER_MAX */
+# endif
+# if !defined(ACE_THR_PRI_FIFO_DEF)
+# define ACE_THR_PRI_FIFO_DEF ((ACE_THR_PRI_FIFO_MIN + ACE_THR_PRI_FIFO_MAX)/2)
+# endif
+# if !defined(ACE_THR_PRI_RR_DEF)
+# define ACE_THR_PRI_RR_DEF ((ACE_THR_PRI_RR_MIN + ACE_THR_PRI_RR_MAX)/2)
+# endif
+# if !defined(ACE_THR_PRI_OTHER_DEF)
+# define ACE_THR_PRI_OTHER_DEF ((ACE_THR_PRI_OTHER_MIN + ACE_THR_PRI_OTHER_MAX)/2)
+# endif
+ // Typedefs to help compatibility with Windows NT and Pthreads.
+ typedef pthread_t ACE_hthread_t;
+ typedef pthread_t ACE_thread_t;
+
+# if defined (ACE_HAS_TSS_EMULATION)
+ typedef pthread_key_t ACE_OS_thread_key_t;
+ typedef u_long ACE_thread_key_t;
+# else /* ! ACE_HAS_TSS_EMULATION */
+ typedef pthread_key_t ACE_thread_key_t;
+# endif /* ! ACE_HAS_TSS_EMULATION */
+
+# if !defined (ACE_LACKS_COND_T)
+ typedef pthread_mutex_t ACE_mutex_t;
+ typedef pthread_cond_t ACE_cond_t;
+ typedef pthread_condattr_t ACE_condattr_t;
+ typedef pthread_mutexattr_t ACE_mutexattr_t;
+# endif /* ! ACE_LACKS_COND_T */
+ typedef pthread_mutex_t ACE_thread_mutex_t;
+
+# if !defined (PTHREAD_CANCEL_DISABLE)
+# define PTHREAD_CANCEL_DISABLE 0
+# endif /* PTHREAD_CANCEL_DISABLE */
+
+# if !defined (PTHREAD_CANCEL_ENABLE)
+# define PTHREAD_CANCEL_ENABLE 0
+# endif /* PTHREAD_CANCEL_ENABLE */
+
+# if !defined (PTHREAD_CANCEL_DEFERRED)
+# define PTHREAD_CANCEL_DEFERRED 0
+# endif /* PTHREAD_CANCEL_DEFERRED */
+
+# if !defined (PTHREAD_CANCEL_ASYNCHRONOUS)
+# define PTHREAD_CANCEL_ASYNCHRONOUS 0
+# endif /* PTHREAD_CANCEL_ASYNCHRONOUS */
+
+# define THR_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE
+# define THR_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE
+# define THR_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED
+# define THR_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS
+
+# if !defined (PTHREAD_CREATE_JOINABLE)
+# if defined (PTHREAD_CREATE_UNDETACHED)
+# define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED
+# else
+# define PTHREAD_CREATE_JOINABLE 0
+# endif /* PTHREAD_CREATE_UNDETACHED */
+# endif /* PTHREAD_CREATE_JOINABLE */
+
+# if !defined (PTHREAD_CREATE_DETACHED)
+# define PTHREAD_CREATE_DETACHED 1
+# endif /* PTHREAD_CREATE_DETACHED */
+
+# if !defined (PTHREAD_PROCESS_PRIVATE) && !defined (ACE_HAS_PTHREAD_PROCESS_ENUM)
+# if defined (PTHREAD_MUTEXTYPE_FAST)
+# define PTHREAD_PROCESS_PRIVATE PTHREAD_MUTEXTYPE_FAST
+# else
+# define PTHREAD_PROCESS_PRIVATE 0
+# endif /* PTHREAD_MUTEXTYPE_FAST */
+# endif /* PTHREAD_PROCESS_PRIVATE */
+
+# if !defined (PTHREAD_PROCESS_SHARED) && !defined (ACE_HAS_PTHREAD_PROCESS_ENUM)
+# if defined (PTHREAD_MUTEXTYPE_FAST)
+# define PTHREAD_PROCESS_SHARED PTHREAD_MUTEXTYPE_FAST
+# else
+# define PTHREAD_PROCESS_SHARED 1
+# endif /* PTHREAD_MUTEXTYPE_FAST */
+# endif /* PTHREAD_PROCESS_SHARED */
+
+# if defined (ACE_HAS_PTHREADS_DRAFT4)
+# if defined (PTHREAD_PROCESS_PRIVATE)
+# if !defined (USYNC_THREAD)
+# define USYNC_THREAD PTHREAD_PROCESS_PRIVATE
+# endif /* ! USYNC_THREAD */
+# else
+# if !defined (USYNC_THREAD)
+# define USYNC_THREAD MUTEX_NONRECURSIVE_NP
+# endif /* ! USYNC_THREAD */
+# endif /* PTHREAD_PROCESS_PRIVATE */
+
+# if defined (PTHREAD_PROCESS_SHARED)
+# if !defined (USYNC_PROCESS)
+# define USYNC_PROCESS PTHREAD_PROCESS_SHARED
+# endif /* ! USYNC_PROCESS */
+# else
+# if !defined (USYNC_PROCESS)
+# define USYNC_PROCESS MUTEX_NONRECURSIVE_NP
+# endif /* ! USYNC_PROCESS */
+# endif /* PTHREAD_PROCESS_SHARED */
+# elif !defined (ACE_HAS_STHREADS)
+# if !defined (USYNC_THREAD)
+# define USYNC_THREAD PTHREAD_PROCESS_PRIVATE
+# endif /* ! USYNC_THREAD */
+# if !defined (USYNC_PROCESS)
+# define USYNC_PROCESS PTHREAD_PROCESS_SHARED
+# endif /* ! USYNC_PROCESS */
+# endif /* ACE_HAS_PTHREADS_DRAFT4 */
+
+ /* MM-Graz: prevent warnings */
+# undef THR_BOUND
+# undef THR_NEW_LWP
+# undef THR_DETACHED
+# undef THR_SUSPENDED
+# undef THR_DAEMON
+
+# define THR_BOUND 0x00000001
+# if defined (CHORUS)
+# define THR_NEW_LWP 0x00000000
+# else
+# define THR_NEW_LWP 0x00000002
+# endif /* CHORUS */
+# define THR_DETACHED 0x00000040
+# define THR_SUSPENDED 0x00000080
+# define THR_DAEMON 0x00000100
+# define THR_JOINABLE 0x00010000
+# define THR_SCHED_FIFO 0x00020000
+# define THR_SCHED_RR 0x00040000
+# define THR_SCHED_DEFAULT 0x00080000
+
+# if defined (ACE_HAS_IRIX62_THREADS)
+# define THR_SCOPE_SYSTEM 0x00100000
+# else
+# define THR_SCOPE_SYSTEM THR_BOUND
+# endif /*ACE_HAS_IRIX62_THREADS*/
+
+# define THR_SCOPE_PROCESS 0x00200000
+# define THR_INHERIT_SCHED 0x00400000
+# define THR_EXPLICIT_SCHED 0x00800000
+# define THR_SCHED_IO 0x01000000
+
+# if !defined (ACE_HAS_STHREADS)
+# if !defined (ACE_HAS_POSIX_SEM)
+/**
+ * @class ACE_sema_t
+ *
+ * @brief This is used to implement semaphores for platforms that support
+ * POSIX pthreads, but do *not* support POSIX semaphores, i.e.,
+ * it's a different type than the POSIX <sem_t>.
+ */
+class ACE_OS_Export ACE_sema_t
+{
+friend class ACE_OS;
+protected:
+ /// Serialize access to internal state.
+ ACE_mutex_t lock_;
+
+ /// Block until there are no waiters.
+ ACE_cond_t count_nonzero_;
+
+ /// Count of the semaphore.
+ u_long count_;
+
+ /// Number of threads that have called <ACE_OS::sema_wait>.
+ u_long waiters_;
+};
+# endif /* !ACE_HAS_POSIX_SEM */
+
+# if defined (ACE_LACKS_PTHREAD_YIELD) && defined (ACE_HAS_THR_YIELD)
+ // If we are on Solaris we can just reuse the existing
+ // implementations of these synchronization types.
+# if !defined (ACE_LACKS_RWLOCK_T)
+# include /**/ <synch.h>
+ typedef rwlock_t ACE_rwlock_t;
+# endif /* !ACE_LACKS_RWLOCK_T */
+# include /**/ <thread.h>
+# endif /* (ACE_LACKS_PTHREAD_YIELD) && defined (ACE_HAS_THR_YIELD) */
+
+# else
+# if !defined (ACE_HAS_POSIX_SEM)
+ typedef sema_t ACE_sema_t;
+# endif /* !ACE_HAS_POSIX_SEM */
+# endif /* !ACE_HAS_STHREADS */
+
+# if defined (ACE_HAS_PTHREADS_UNIX98_EXT)
+ typedef pthread_rwlock_t ACE_rwlock_t;
+# endif /* ACE_HAS_PTHREADS_UNIX98_EXT */
+
+#endif /* ACE_HAS_PTHREADS */
+
#include "ace/post.h"
#endif /* ACE_OS_INCLUDE_PTHREAD_H */
diff --git a/ace/os_include/stdio.h b/ace/os_include/stdio.h
index cee353d8273..b731e3dee4e 100644
--- a/ace/os_include/stdio.h
+++ b/ace/os_include/stdio.h
@@ -71,5 +71,15 @@
# define ACE_STDERR 2
#endif /* ACE_WIN32 */
+#if defined (ACE_PSOS_SNARFS_HEADER_INFO)
+ // Header information snarfed from compiler provided header files
+ // that are not included because there is already an identically
+ // named file provided with pSOS, which does not have this info
+ // from compiler supplied stdio.h
+ extern FILE *fdopen(int, const char *);
+ extern char *tempnam(const char *, const char *);
+ extern "C" int fileno(FILE *);
+# endif /* ACE_PSOS_SNARFS_HEADER_INFO */
+
#include "ace/post.h"
#endif /* ACE_OS_INCLUDE_STDIO_H */
diff --git a/ace/os_include/stdlib.h b/ace/os_include/stdlib.h
index bffe2095cb5..b6447a4f2ce 100644
--- a/ace/os_include/stdlib.h
+++ b/ace/os_include/stdlib.h
@@ -45,5 +45,13 @@ typedef u_int ACE_RANDR_TYPE;
# endif /* HPUX_10 */
# endif /* ACE_HAS_BROKEN_RANDR */
+#if defined (ACE_PSOS_SNARFS_HEADER_INFO)
+ // Header information snarfed from compiler provided header files
+ // that are not included because there is already an identically
+ // named file provided with pSOS, which does not have this info
+ // from compiler supplied header
+ extern int putenv (char *); // stdlib.h
+#endif /* ACE_PSOS_SNARFS_HEADER_INFO */
+
#include "ace/post.h"
#endif /* ACE_OS_INCLUDE_STDLIB_H */
diff --git a/ace/os_include/string.h b/ace/os_include/string.h
index bb58d988e2b..a9e14388c2e 100644
--- a/ace/os_include/string.h
+++ b/ace/os_include/string.h
@@ -45,5 +45,13 @@ extern "C" char *strtok_r (char *s, const char *delim, char **save_ptr);
# define ACE_SPRINTF_ADAPTER(X) X
#endif /* ACE_HAS_CHARPTR_SPRINTF */
+#if defined (ACE_PSOS_SNARFS_HEADER_INFO)
+ // Header information snarfed from compiler provided header files
+ // that are not included because there is already an identically
+ // named file provided with pSOS, which does not have this info
+ // from compiler supplied header
+ extern char *strdup (const char *); // string.h
+#endif /* ACE_PSOS_SNARFS_HEADER_INFO */
+
#include "ace/post.h"
#endif /* ACE_OS_INCLUDE_STRING_H */
diff --git a/ace/os_include/sys/stat.h b/ace/os_include/sys/stat.h
index 4726ddfac1c..e2bf37037fd 100644
--- a/ace/os_include/sys/stat.h
+++ b/ace/os_include/sys/stat.h
@@ -103,5 +103,15 @@ struct stat
# define _fstat fstat
#endif /* __BORLANDC__ */
+#if defined (ACE_PSOS_SNARFS_HEADER_INFO)
+ // Header information snarfed from compiler provided header files
+ // that are not included because there is already an identically
+ // named file provided with pSOS, which does not have this info
+ // from compiler supplied header
+ extern mode_t umask (mode_t); //sys/stat.h
+ extern int mkfifo (const char *, mode_t); //sys/stat.h
+ extern int mkdir (const char *, mode_t); //sys/stat.h
+#endif /* ACE_PSOS_SNARFS_HEADER_INFO */
+
#include "ace/post.h"
#endif /* ACE_OS_INCLUDE_SYS_STAT_H */
diff --git a/ace/os_include/unistd.h b/ace/os_include/unistd.h
index 7b37e73e18c..a99ae3183be 100644
--- a/ace/os_include/unistd.h
+++ b/ace/os_include/unistd.h
@@ -87,5 +87,17 @@ extern "C" ACE_LOFF_T llseek (int fd, ACE_LOFF_T offset, int whence);
# define _isatty isatty
#endif /* __BORLANDC__ */
+#if defined (ACE_PSOS_SNARFS_HEADER_INFO)
+ // Header information snarfed from compiler provided header files
+ // that are not included because there is already an identically
+ // named file provided with pSOS, which does not have this info
+ // from compiler supplied header
+ extern int getopt(int, char *const *, const char *);
+ int isatty (int h);
+#endif /* ACE_PSOS_SNARFS_HEADER_INFO */
+
+
+
+
#include "ace/post.h"
#endif /* ACE_OS_INCLUDE_UNISTD_H */
diff --git a/apps/gperf/src/Vectors.h b/apps/gperf/src/Vectors.h
index e6eec45d355..236ff0986eb 100644
--- a/apps/gperf/src/Vectors.h
+++ b/apps/gperf/src/Vectors.h
@@ -32,6 +32,18 @@
#if defined (ACE_HAS_GPERF)
+// Do not change these values wantonly since GPERF depends on them..
+#define ACE_ASCII_SIZE 128
+#define ACE_EBCDIC_SIZE 256
+
+#if 'a' < 'A'
+#define ACE_HAS_EBCDIC
+#define ACE_STANDARD_CHARACTER_SET_SIZE 256
+#else
+#define ACE_HAS_ASCII
+#define ACE_STANDARD_CHARACTER_SET_SIZE 128
+#endif /* 'a' < 'A' */
+
class Vectors
{
// = TITLE