summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluther <luther@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-08-16 22:33:21 +0000
committerluther <luther@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-08-16 22:33:21 +0000
commit026810de32d59d547246881b912ed91f885df1fa (patch)
treedde0608dacabf68b5fa37cba61d3d6d36bb221d2
parentddd69785aaf0ff4eb806893ae4d5c1a722075b01 (diff)
downloadATCD-026810de32d59d547246881b912ed91f885df1fa.tar.gz
Wed Aug 16 17:31:43 2000 Luther J Baker <luther@cs.wustl.edu>
-rw-r--r--PACE/ChangeLog11
-rw-r--r--PACE/pace/win32/TODO29
-rw-r--r--PACE/pace/win32/pthread.c38
-rw-r--r--PACE/pace/win32/pthread.h17
-rw-r--r--PACE/pace/win32/pthread.inl507
-rw-r--r--PACE/pace/win32/pthreadtypes.h11
-rw-r--r--PACE/pace/win32/schedtypes.h2
7 files changed, 589 insertions, 26 deletions
diff --git a/PACE/ChangeLog b/PACE/ChangeLog
index 6bf2750736d..0395f6cc21a 100644
--- a/PACE/ChangeLog
+++ b/PACE/ChangeLog
@@ -1,3 +1,14 @@
+Wed Aug 16 17:31:43 2000 Luther J Baker <luther@cs.wustl.edu>
+
+ * pace/win32/pthread.h:
+ * pace/win32/pthread.inl:
+ * pace/win32/pthread.c:
+ * pace/win32/pthreadtypes.h:
+ * pace/win32/schedtypes.h:
+ * pace/win32/TODO
+
+ More fabulous emulation updates!
+
Wed Aug 16 16:26:32 2000 Luther J Baker <luther@cs.wustl.edu>
* pace/win32/pthread.h:
diff --git a/PACE/pace/win32/TODO b/PACE/pace/win32/TODO
index 2238c8ab5f2..8766147594a 100644
--- a/PACE/pace/win32/TODO
+++ b/PACE/pace/win32/TODO
@@ -1,27 +1,18 @@
-Mon Jul 24 14:19:54 2000 Luther J Baker <luther@cs.wustl.edu>
+ * Emulation:
+ - pthreads
+ - dirent
* ACE_wrappers/PACE/docs/PACE_POSIX_support.txt:
- Please see this file. If a PACE file is not listed here,
- it means the win32 funcs compile natively. The rest of
- the files actually listed here describe whether native,
- emulated or no supported exists for the funcs in the
- file.
+ Update this file as emulation occurs.
- 1. Please see the "not implemented" funcs and find a way
- emulate them (or find native implementation).
+ * Build ACE with ACE_HAS_PACE
- 2. Check that current emulation and native support is
- correct via POSIX semantics (user feedback).
+----------------------------------------------------------------------
- * ACE_wrappers/PACE/tests/*:
+ * pthreads: Do we need to define this for win32?
- 3. Get these tests compiling and working on win32!
+ OS.cpp:2769 => PACE_PTHREAD_STACK_MIN
+ OS.cpp:2798 => PACE_PTHREAD_CREATE_JOINABLE
+ OS.cpp:2801 => PACE_PTHREAD_CREATE_DETACHED
- * ACE_wrappers/PACE/Makefile
-
- 4. Get the makefile to build PACE on win32
-
- * ACE_wrappers/ace
-
- 5. Get the ACE libs to build with PACE??
diff --git a/PACE/pace/win32/pthread.c b/PACE/pace/win32/pthread.c
index 4aa9f5315ff..1e5d19c94b5 100644
--- a/PACE/pace/win32/pthread.c
+++ b/PACE/pace/win32/pthread.c
@@ -162,3 +162,41 @@ pthread_create (pace_pthread_t * thread,
return -1;
}
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+int
+pthread_getschedparam (pace_pthread_t thread,
+ int * policy,
+ pace_sched_param * param)
+{
+ if (param != (pace_sched_param*)0)
+ {
+ param->priority_ = GetThreadPriority (thread);
+ return 0;
+ }
+ /* Invalid pointer to pace_sched_param. */
+ return -1;
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+pace_pthread_t
+pthread_self ()
+{
+ return GetCurrentThread ();
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+ int pthread_setschedparam (pace_pthread_t thread,
+ int policy,
+ const pace_sched_param * param)
+{
+ if (SetThreadPriority (thread, param->priority_))
+ {
+ return 0;
+ }
+ /* ERROR: with return value of SetThreadPriority. */
+ return -1;
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/pthread.h b/PACE/pace/win32/pthread.h
index 7e79fe84317..ef25f2968da 100644
--- a/PACE/pace/win32/pthread.h
+++ b/PACE/pace/win32/pthread.h
@@ -113,12 +113,29 @@ extern "C" {
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+ /* Returns -1 if invalid pointer to param is passed in! */
+ int pthread_getschedparam (pace_pthread_t thread,
+ int * policy,
+ pace_sched_param * param);
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+ int pthread_setschedparam (pace_pthread_t thread,
+ int policy,
+ const pace_sched_param * param);
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
int pthread_create (pace_pthread_t * thread,
const pace_pthread_attr_t * attr,
void * (*start_routine) (void*),
void * arg);
#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+ pace_pthread_t pthread_self ();
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
diff --git a/PACE/pace/win32/pthread.inl b/PACE/pace/win32/pthread.inl
index 59cfd944432..ca5cddc0d16 100644
--- a/PACE/pace/win32/pthread.inl
+++ b/PACE/pace/win32/pthread.inl
@@ -185,4 +185,509 @@ pace_pthread_attr_setscope (pace_pthread_attr_t * attr,
PACE_INLINE
int
pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
- \ No newline at end of file
+ void * stackaddr)
+{
+ return pthread_attr_setstackaddr (attr, stackaddr);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr,
+ size_t stacksize)
+{
+ return pthread_attr_setstacksize (attr, stacksize);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_cancel (pace_pthread_t thread)
+{
+ PACE_UNUSED_ARG (thread);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_cond_broadcast (pace_pthread_cond_t * cond)
+{
+ PACE_UNUSED_ARG (cond);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_cond_destroy (pace_pthread_cond_t * cond)
+{
+ PACE_UNUSED_ARG (cond);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_cond_init (pace_pthread_cond_t * cond,
+ const pace_pthread_condattr_t * attr)
+{
+ PACE_UNUSED_ARG (cond);
+ PACE_UNUSED_ARG (attr);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_cond_signal (pace_pthread_cond_t * cond)
+{
+ PACE_UNUSED_ARG (cond);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_cond_timedwait (pace_pthread_cond_t * cond,
+ pace_pthread_mutex_t * mutex,
+ const struct timespec * abstime)
+{
+ PACE_UNUSED_ARG (cond);
+ PACE_UNUSED_ARG (mutex);
+ PACE_UNUSED_ARG (abstime);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_cond_wait (pace_pthread_cond_t * cond,
+ pace_pthread_mutex_t * mutex)
+{
+ PACE_UNUSED_ARG (cond);
+ PACE_UNUSED_ARG (mutex);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr,
+ int * pshared)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_UNUSED_ARG (pshared);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_condattr_init (pace_pthread_condattr_t * attr)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr,
+ int pshared)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_UNUSED_ARG (pshared);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_create (pace_pthread_t * thread,
+ const pace_pthread_attr_t * attr,
+ void * (*start_routine) (void*),
+ void * arg)
+{
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_detach (pace_pthread_t thread)
+{
+ PACE_UNUSED_ARG (thread);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_equal (pace_pthread_t t1, pace_pthread_t t2)
+{
+ PACE_UNUSED_ARG (t1);
+ PACE_UNUSED_ARG (t2);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+void
+pace_pthread_exit (void * value_ptr)
+{
+ PACE_UNUSED_ARG (value_ptr);
+ PACE_ERRNO_NO_SUPPORT ();
+ return;
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_getschedparam (pace_pthread_t thread,
+ int * policy,
+ pace_sched_param * param)
+{
+ return pthread_getschedparam (thread, policy, param);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+void *
+pace_pthread_getspecific (pace_pthread_key_t key)
+{
+ void * retval = (void*)0;
+ PACE_UNUSED_ARG (key);
+ PACE_ERRNO_NO_SUPPORT_RETURN (retval);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_join (pace_pthread_t thread, void ** value_ptr)
+{
+ PACE_UNUSED_ARG (thread);
+ PACE_UNUSED_ARG (value_ptr);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_key_create (pace_pthread_key_t * key,
+ void (*destructor)(void*))
+{
+ PACE_UNUSED_ARG (key);
+ PACE_UNUSED_ARG (destructor);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_key_delete (pace_pthread_key_t key)
+{
+ PACE_UNUSED_ARG (key);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_kill (pace_pthread_t thread, int sig)
+{
+ PACE_UNUSED_ARG (thread);
+ PACE_UNUSED_ARG (sig);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex)
+{
+ PACE_UNUSED_ARG (mutex);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex,
+ int * prioceiling)
+{
+ PACE_UNUSED_ARG (mutex);
+ PACE_UNUSED_ARG (prioceiling);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutex_init (pace_pthread_mutex_t * mutex,
+ const pace_pthread_mutexattr_t * attr)
+{
+ PACE_UNUSED_ARG (mutex);
+ PACE_UNUSED_ARG (attr);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex)
+{
+ PACE_UNUSED_ARG (mutex);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex,
+ int prioceiling,
+ int * old_ceiling)
+{
+ PACE_UNUSED_ARG (mutex);
+ PACE_UNUSED_ARG (prioceiling);
+ PACE_UNUSED_ARG (old_ceiling);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutex_trylock (pace_pthread_mutex_t * mutex)
+{
+ PACE_UNUSED_ARG (mutex);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex)
+{
+ PACE_UNUSED_ARG (mutex);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * attr)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr,
+ int * prioceiling)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_UNUSED_ARG (prioceiling);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutexattr_getprotocol (const pace_pthread_mutexattr_t * attr,
+ int * protocol)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_UNUSED_ARG (protocol);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr,
+ int prioceiling)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_UNUSED_ARG (prioceiling);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
+ int protocol)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_UNUSED_ARG (protocol);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr,
+ int * pshared)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_UNUSED_ARG (pshared);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
+ int pshared)
+{
+ PACE_UNUSED_ARG (attr);
+ PACE_UNUSED_ARG (pshared);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_once (pace_pthread_once_t * once_control,
+ void (*void_routine) (void))
+{
+ PACE_UNUSED_ARG (once_control);
+ PACE_UNUSED_ARG (void_routine);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+pace_pthread_t
+pace_pthread_self ()
+{
+ return pthread_self ();
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_setcancelstate (int state, int * oldstate)
+{
+ PACE_UNUSED_ARG (state);
+ PACE_UNUSED_ARG (oldstate);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_setcanceltype (int type, int * oldtype)
+{
+ PACE_UNUSED_ARG (type);
+ PACE_UNUSED_ARG (oldtype);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_setschedparam (pace_pthread_t thread,
+ int policy,
+ const pace_sched_param * param)
+{
+ return pthread_setschedparam (thread, policy, param);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_setspecific (pace_pthread_key_t key, const void * value)
+{
+ PACE_UNUSED_ARG (key);
+ PACE_UNUSED_ARG (value);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+int
+pace_pthread_sigmask (int how, const pace_sigset_t * set,
+ pace_sigset_t * oset)
+{
+ PACE_UNUSED_ARG (how);
+ PACE_UNUSED_ARG (set);
+ PACE_UNUSED_ARG (oset);
+ PACE_ERRNO_NO_SUPPORT_RETURN (-1);
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
+
+#if (PACE_HAS_POSIX_NONUOF_FUNCS)
+PACE_INLINE
+void
+pace_pthread_testcancel ()
+{
+ PACE_ERRNO_NO_SUPPORT ();
+ return;
+}
+#endif /* PACE_HAS_POSIX_NONUOF_FUNCS */
diff --git a/PACE/pace/win32/pthreadtypes.h b/PACE/pace/win32/pthreadtypes.h
index c092e6bfda7..cb1309194a4 100644
--- a/PACE/pace/win32/pthreadtypes.h
+++ b/PACE/pace/win32/pthreadtypes.h
@@ -30,11 +30,12 @@ extern "C" {
#define PACE_PTHREAD_ATTR_T 1
typedef struct pthread_attr_t
{
- int detach_;
+ int init_;
+ int detach_state_;
int policy_;
- pace_sched_param priority_;
+ pace_sched_param sparam_;
int inherit_sched_;
- int scope;
+ int contention_scope_;
pace_size_t guard_size_;
int stackaddr_set_ ;
void * stack_addr_;
@@ -123,8 +124,8 @@ extern "C" {
#ifndef PACE_PTHREAD_T
#define PACE_PTHREAD_T
- typedef DWORD pace_pthread_t;
- typedef HANDLE pace_hpthread_t;
+ typedef HANDLE pace_pthread_t;
+ typedef DWORD pace_idpthread_t;
#endif /* PACE_PTHREAD_T */
#if defined (PACE_HAS_CPLUSPLUS)
diff --git a/PACE/pace/win32/schedtypes.h b/PACE/pace/win32/schedtypes.h
index 05aa53778b9..0aaa61d57a1 100644
--- a/PACE/pace/win32/schedtypes.h
+++ b/PACE/pace/win32/schedtypes.h
@@ -56,7 +56,7 @@ extern "C" {
#define PACE_SCHED_PARAM 1
typedef struct sched_param
{
- int the_priority_;
+ int priority_;
} pace_sched_param;
#endif