On Mon, Feb 20, 2012, Kurt Miller wrote:
> On Sunday 19 February 2012 4:33:35 pm Amit Kulkarni wrote:

>> There is some problem building sun's jdk 1.6 (devel/jdk/1.6) and
>> lang/mono. Note this is with stock current (src,xenocara,ports) as of
>> friday feb 17... CC'ing kurt@ and robert@. Can somebody look in there
>> if they have time?

What is the problem?

> Thanks for the report. rthreads doesn't have functional
> pthread_suspend_np() support yet, so ports using it will not work. That
> covers most garbage collection based applications like the jdk and mono.
> When pthread_suspend_np() is functional we can try these applications again.

If the problem is just that the main thread can't be suspended, that's
been fixed for ages I think.  We just need to fix the library.

Index: rthread_sched.c
===================================================================
RCS file: /home/tedu/cvs/src/lib/librthread/rthread_sched.c,v
retrieving revision 1.10
diff -u -p -r1.10 rthread_sched.c
--- rthread_sched.c     19 Feb 2012 02:07:48 -0000      1.10
+++ rthread_sched.c     20 Feb 2012 20:06:15 -0000
@@ -136,13 +136,8 @@ pthread_suspend_np(pthread_t thread)
 
        if (thread == pthread_self())
                return (EDEADLK);
-       /*
-        * XXX Avoid a bug in current signal handling by refusing to
-        * suspend the main thread.
-        */
-       if (thread != &_initial_thread)
-               if (kill(thread->tid, SIGSTOP) == -1)
-                       errn = errno;
+       if (kill(thread->tid, SIGSTOP) == -1)
+               errn = errno;
        return (errn);
 }
 

Reply via email to