$NetBSD$

Index: common/generic/nasd_pthread_support.c
===================================================================
RCS file: /usr/cvsroot/nasd/nasd-1.3/common/generic/nasd_pthread_support.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- common/generic/nasd_pthread_support.c	21 Mar 2005 08:52:02 -0000	1.1.1.1
+++ common/generic/nasd_pthread_support.c	21 Mar 2005 17:07:19 -0000	1.2
@@ -34,10 +34,10 @@
 pthread_condattr_t nasd_pthread_cond_attr;
 int nasd_pthread_mutex_attr_good = 0;
 int nasd_pthread_cond_attr_good = 0;
-#ifdef SOLARIS
+#if defined(SOLARIS) || defined(NETBSD)
 int nasd_pthread_thread_attr_good = 0;
 pthread_attr_t nasd_pthread_thread_attr;
-#endif /* SOLARIS */
+#endif /* SOLARIS || NETBSD */
 
 nasd_status_t
 nasd_sys_threads_init()
@@ -65,7 +65,7 @@
   ret = pthread_mutexattr_create(&nasd_pthread_mutex_attr);
   if (ret)
     return(NASD_FAIL);
-#if !defined(FREEBSD) && !defined(SOLARIS) && !defined(IRIX) && !defined(LINUX)
+#if !defined(FREEBSD) && !defined(SOLARIS) && !defined(IRIX) && !defined(LINUX) && !defined(NETBSD)
   /* XXX - RH61 port */
   /* not supported by FreeBSD's threads library */
   ret = pthread_mutexattr_setkind_np(&nasd_pthread_mutex_attr, MUTEX_FAST_NP);
@@ -73,7 +73,7 @@
     pthread_mutexattr_delete(&nasd_pthread_mutex_attr);
     return(NASD_FAIL);
   }
-#endif /* !FREEBSD && !SOLARIS && !IRIX */
+#endif /* !FREEBSD && !SOLARIS && !IRIX && !NETBSD */
   ret = pthread_condattr_create(&nasd_pthread_cond_attr);
   if (ret) {
     pthread_mutexattr_delete(&nasd_pthread_mutex_attr);
@@ -127,13 +127,13 @@
   if (rc)
     return(NASD_FAIL);
 #else /* DEC_OSF || (LINUX && (NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE)) */
-#if defined(LINUX) || defined(FREEBSD) || defined(SOLARIS) || defined(IRIX)
+#if defined(LINUX) || defined(FREEBSD) || defined(SOLARIS) || defined(IRIX) || defined(NETBSD)
   if (nasd_pthread_mutex_attr_good == 0)
     return(NASD_FAIL);
   rc = pthread_mutex_init(m, &nasd_pthread_mutex_attr);
   if (rc)
     return(NASD_FAIL);
-#else /* LINUX || FREEBSD || SOLARIS || IRIX */
+#else /* LINUX || FREEBSD || SOLARIS || IRIX || NETBSD */
 #ifdef AIX
 	rc = pthread_mutex_init(m, &pthread_mutexattr_default);
   if (rc)
@@ -141,7 +141,7 @@
 #else
 #error "don't know how to call pthread_mutex_init on your platform"
 #endif /* AIX */
-#endif /* LINUX || FREEBSD || SOLARIS || IRIX */
+#endif /* LINUX || FREEBSD || SOLARIS || IRIX || NETBSD */
 #endif /* DEC_OSF || (LINUX && (NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE)) */
 #endif /* PTHREAD_EXC */
   return(NASD_SUCCESS);
@@ -180,7 +180,7 @@
 #ifdef DEC_OSF
   rc = pthread_cond_init(c, pthread_condattr_default);
 #else /* DEC_OSF */
-#if defined(LINUX) || defined(FREEBSD) || defined(SOLARIS) || defined(IRIX)
+#if defined(LINUX) || defined(FREEBSD) || defined(SOLARIS) || defined(IRIX) || defined(NETBSD)
   if (nasd_pthread_cond_attr_good == 0)
     return(NASD_FAIL);
 #if NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE
@@ -188,13 +188,13 @@
 #else /* NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE */
   rc = pthread_cond_init(c, &nasd_pthread_cond_attr);
 #endif /* NASD_RPC_PACKAGE == NASD_RPC_PACKAGE_DCE */
-#else /* LINUX || FREEBSD || SOLARIS || IRIX */
+#else /* LINUX || FREEBSD || SOLARIS || IRIX || NETBSD */
 #ifdef AIX
   rc = pthread_cond_init(c, &pthread_condattr_default);
 #else /* AIX */
 #error "don't know how to call pthread_cond_init on your platform"
 #endif /* AIX */
-#endif /* LINUX || FREEBSD || SOLARIS || IRIX*/
+#endif /* LINUX || FREEBSD || SOLARIS || IRIX || NETBSD */
 #endif /* DEC_OSF */
   if (rc)
     return(NASD_FAIL);
@@ -335,14 +335,14 @@
   *sizep = size;
   return(NASD_SUCCESS);
 #else /* IRIX */
-#if defined(FREEBSD) || defined(SOLARIS)
+#if defined(FREEBSD) || defined(SOLARIS) || defined(NETBSD)
   int ret;
 
   ret = pthread_attr_getstacksize(attrp, sizep);
   if (ret != 0)
     return NASD_FAIL;
   return NASD_SUCCESS;
-#else /* FREEBSD || SOLARIS */
+#else /* FREEBSD || SOLARIS || NETBSD */
   long size;
 
   size = pthread_attr_getstacksize(*attrp);
@@ -350,7 +350,7 @@
     return(NASD_FAIL);
   *sizep = (int)size;
   return(NASD_SUCCESS);
-#endif /* FREEBSD || SOLARIS */
+#endif /* FREEBSD || SOLARIS || NETBSD */
 #endif /* IRIX */
 }
 
@@ -387,20 +387,20 @@
   ret = pthread_create(threadp, NULL,
     (pthread_startroutine_t)func, arg);
 #else /* LINUX && (NASD_RPC_PACKAGE != NASD_RPC_PACKAGE_DCE) */
-#ifdef SOLARIS
+#  if defined(SOLARIS) || defined(NETBSD)
   if (nasd_pthread_thread_attr_good == 0)
     return(NASD_FAIL);
   ret = pthread_create(threadp, &nasd_pthread_thread_attr,
     (pthread_startroutine_t)func, arg);
-#else /* SOLARIS */
-#ifdef IRIX
+#  else /* SOLARIS || NETBSD */
+#    ifdef IRIX
   ret = pthread_create(threadp, NULL,
     (pthread_startroutine_t)func, arg);
-#else /* IRIX */
+#    else /* IRIX */
   ret = pthread_create(threadp, pthread_attr_default,
     (pthread_startroutine_t)func, arg);
-#endif /* IRIX */
-#endif /* SOLARIS */
+#    endif /* IRIX */
+#  endif /* SOLARIS || NETBSD */
 #endif /* LINUX && (NASD_RPC_PACKAGE != NASD_RPC_PACKAGE_DCE) */
   if (ret)
     return(NASD_FAIL);
