+#elif YAZ_GNU_THREADS
+ if (control_block.threads)
+ {
+ pth_attr_t attr;
+ pth_t child_thread;
+
+ attr = pth_attr_new ();
+ 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 begin");
+ child_thread = pth_spawn (attr, new_session, new_line);
+ yaz_log (LOG_LOG, "pth_spawn finish");
+ pth_attr_destroy (attr);
+ }
+ else
+ new_session(new_line);