/* sunos5 threads are preemptive */
#define PTHREAD_PREEMPTIVE 1
+#if !defined(__SunOS_5_6)
/* thread attributes and thread type */
typedef int pthread_attr_t;
typedef thread_t pthread_t;
+#endif /* ! sunos56 */
/* default attr states */
#define pthread_mutexattr_default NULL
#define PTHREAD_SCOPE_PROCESS 0
#define PTHREAD_SCOPE_SYSTEM THR_BOUND
+#if !defined(__SunOS_5_6)
/* mutex attributes and mutex type */
typedef int pthread_mutexattr_t;
typedef mutex_t pthread_mutex_t;
+#endif /* ! sunos56 */
/* mutex and condition variable scope - process or system */
#define PTHREAD_SHARE_PRIVATE USYNC_THREAD
#define PTHREAD_SHARE_PROCESS USYNC_PROCESS
+#if !defined(__SunOS_5_6)
/* condition variable attributes and condition variable type */
typedef int pthread_condattr_t;
typedef cond_t pthread_cond_t;
+#endif /* ! sunos56 */
#else /* end sunos5 */
* *
***********************************************************************/
+#if !defined(__SunOS_5_6)
int
pthread_attr_init( pthread_attr_t *attr )
{
{
return( thr_create( NULL, 0, func, arg, attr, tid ) );
}
+#endif /* ! sunos56 */
void
pthread_yield()
thr_yield();
}
+#if !defined(__SunOS_5_6)
void
pthread_exit()
{
{
return( cond_broadcast( cv ) );
}
+#endif /* ! sunos56 */
#else /* end sunos5 threads */