[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gcj port to hppa...

> The gcj port to hppa uses a locking implementation
> (libjava/sysdeps/pa/locks.h) which is not signal safe.

Yes.  Is this the gcj problem that you were seeing with nptl?

> The assembly can be interrupted by a signal which if it calls
> compare_and_swap again will deadlock. However, I can't tell if this
> will ever happen.
> The fix for this is to port the lock implementation to use the
> light-weight in-kernel compare-and-swap, which is thread-safe and
> signal-safe. However, this is only available for Linux.

I would say the linux implementation should uses the gcc atomic builtins.
They are based on the kernel compare-and-swap.

> Does locks.h also need to work for HPUX?


J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

Reply to: