Fixes for GNU threads (not working yet).
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 4 Oct 2001 00:37:58 +0000 (00:37 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 4 Oct 2001 00:37:58 +0000 (00:37 +0000)
configure.in
server/statserv.c
util/nmem.c

index 5dca9ce..9da2915 100644 (file)
@@ -1,6 +1,6 @@
 dnl YAZ Toolkit, Index Data 1994-2001
 dnl See the file LICENSE for details.
 dnl YAZ Toolkit, Index Data 1994-2001
 dnl See the file LICENSE for details.
-dnl $Id: configure.in,v 1.46 2001-10-03 23:55:18 adam Exp $
+dnl $Id: configure.in,v 1.47 2001-10-04 00:37:58 adam Exp $
 AC_INIT(include/yaz/yaz-version.h)
 AM_INIT_AUTOMAKE(yaz, 1.7)
 dnl
 AC_INIT(include/yaz/yaz-version.h)
 AM_INIT_AUTOMAKE(yaz, 1.7)
 dnl
@@ -126,7 +126,7 @@ AC_SUBST(LIBTHREAD)
 HAVETHREADS=0
 LIBTHREAD=""
 dnl
 HAVETHREADS=0
 LIBTHREAD=""
 dnl
-AC_ARG_ENABLE(pth, [  --disable-pth           disable GNU threads],[enable_pth=$enableval],[enable_pth=yes])
+AC_ARG_ENABLE(pth, [  --enable-pth            enable GNU threads],[enable_pth=$enableval],[enable_pth=no])
 AC_SUBST(LIBPTH)
 if test "$enable_pth" = "yes"; then
        OLIBS=$LIBS
 AC_SUBST(LIBPTH)
 if test "$enable_pth" = "yes"; then
        OLIBS=$LIBS
index f4ab5c2..60fc8d3 100644 (file)
@@ -7,7 +7,10 @@
  *   Chas Woodfield, Fretwell Downing Informatics.
  *
  * $Log: statserv.c,v $
  *   Chas Woodfield, Fretwell Downing Informatics.
  *
  * $Log: statserv.c,v $
- * Revision 1.74  2001-10-03 23:55:18  adam
+ * Revision 1.75  2001-10-04 00:37:58  adam
+ * Fixes for GNU threads (not working yet).
+ *
+ * Revision 1.74  2001/10/03 23:55:18  adam
  * GNU threads support.
  *
  * Revision 1.73  2001/06/28 09:27:06  adam
  * GNU threads support.
  *
  * Revision 1.73  2001/06/28 09:27:06  adam
@@ -731,10 +734,15 @@ static void listener(IOCHAN h, int event)
            pth_attr_t attr;
            pth_t child_thread;
 
            pth_attr_t attr;
            pth_t child_thread;
 
-            pth_attr_init (attr);
+            attr = pth_attr_new ();
             pth_attr_set (attr, PTH_ATTR_JOINABLE, FALSE);
             pth_attr_set (attr, PTH_ATTR_JOINABLE, FALSE);
+            pth_attr_set (attr, PTH_ATTR_STACK_SIZE, 32*1024);
+            pth_attr_set (attr, PTH_ATTR_NAME, "session");
+            yaz_log (LOG_LOG, "pth_spawn");
            child_thread = pth_spawn (attr, new_session, new_line);
            child_thread = pth_spawn (attr, new_session, new_line);
+#if 0
             pth_attr_destroy (attr);
             pth_attr_destroy (attr);
+#endif
        }
        else
            new_session(new_line);
        }
        else
            new_session(new_line);
@@ -1014,7 +1022,7 @@ int check_options(int argc, char **argv)
            control_block.dynamic = 0;
            break;
        case 'T':
            control_block.dynamic = 0;
            break;
        case 'T':
-#if HAVE_PTHREAD_H
+#if _REENTRANT
            control_block.dynamic = 0;
            control_block.threads = 1;
 #else
            control_block.dynamic = 0;
            control_block.threads = 1;
 #else
index a2255b2..1b191c4 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: nmem.c,v $
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: nmem.c,v $
- * Revision 1.28  2001-10-03 23:55:18  adam
+ * Revision 1.29  2001-10-04 00:37:58  adam
+ * Fixes for GNU threads (not working yet).
+ *
+ * Revision 1.28  2001/10/03 23:55:18  adam
  * GNU threads support.
  *
  * Revision 1.27  2001/09/27 12:09:18  adam
  * GNU threads support.
  *
  * Revision 1.27  2001/09/27 12:09:18  adam
@@ -153,8 +156,7 @@ static pth_mutex_t nmem_mutex;
 struct nmem_mutex {
 #ifdef WIN32
     CRITICAL_SECTION m_handle;
 struct nmem_mutex {
 #ifdef WIN32
     CRITICAL_SECTION m_handle;
-#endif
-#if _REENTRANT
+#elif _REENTRANT
 
 #if HAVE_PTHREAD_H
     pthread_mutex_t m_handle;
 
 #if HAVE_PTHREAD_H
     pthread_mutex_t m_handle;
@@ -479,8 +481,12 @@ void nmem_init (void)
     {
 #ifdef WIN32
        InitializeCriticalSection(&critical_section);
     {
 #ifdef WIN32
        InitializeCriticalSection(&critical_section);
-#elif HAVE_PTH_H
-#ifdef __REENTRANT
+#endif
+
+#ifdef _REENTRANT
+#if HAVE_PTH_H
+       yaz_log (LOG_LOG, "pth_init");
+        pth_init ();
         pth_mutex_init (&nmem_mutex);
 #endif
 #endif
         pth_mutex_init (&nmem_mutex);
 #endif
 #endif