David,

On Apr 11, 2013, at 2:15 PM, David Holmes wrote:

> Rickard,
> On 11/04/2013 9:51 PM, Rickard Bäckman wrote:
>> Hi all,
>> 
>> can I please have reviews for this change.
>> 
>> In the current implementation do_suspend uses spin loops to wait until a 
>> thread has been suspended. I would like to change that to use semaphores to 
>> reduce CPU usage and also make it easier to have a deterministic timeout. 
>> Since we are posting to the semaphore in the signal handler we can't use 
>> pthread_semaphore since it isn't async safe, which is why all 
>> implementations uses low-level os-specific semaphore constructs.
> 
> POSIX Semaphore sem_post() is async-signal safe:

Yes, and they are used in the implementation on Linux and BSD. Solaris uses the 
sema_{post,wait,…} (since that was we were already using for other things) and 
on Mac we use semaphore_{signal, wait, …}

/R

> 
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04
> 
> David
> -----
> 
>> Bug: http://bugs.sun.com/view_bug.do?bug_id=8011882
>> Webrev: http://cr.openjdk.java.net/~rbackman/8011882/
>> 
>> Thanks
>> /R
>> 

Reply via email to