Hello,

I think there is a bug in glibc, in hurd/hurdsig.c:_hurdsig_init. It
happens when, in a cthreads program, _hurdsig_fault_init refers to
_hurd_msgport_thread before it is set in the _hurd_msgport_receive
thread. I would suggest something like:

*** hurdsig.c   Sun Aug 27 17:47:31 2000
--- hurdsig.c.new       Sun Aug 27 17:48:05 2000
***************
*** 1267,1271 ****
--- 1267,1274 ----
  #pragma weak cthread_fork
  #pragma weak cthread_detach
+       _hurd_msgport_thread = MACH_PORT_NULL;
        cthread_detach (cthread_fork ((cthread_fn_t) 
&_hurd_msgport_receive, 0));
+       while (_hurd_msgport_thread == MACH_PORT_NULL)
+         __thread_switch (MACH_PORT_NULL, SWITCH_OPTION_DEPRESS, 10);
      }
  

BTW, the PowerPC port of the Hurd now works until console-run tries to
open the terminal. I am working on dynamic linking, which doesn't work
well yet.


Peter Bruin
[EMAIL PROTECTED]

Reply via email to