[M3devel] rpath woes

mika at async.caltech.edu mika at async.caltech.edu
Sat Jun 6 02:32:10 CEST 2015


I think I've mentioned this on this mailing list about a hundred times, but...

the pthreads implementation of Modula-3 threads doesn't work on most OSes.

As far as I know the only OS where it is truly reliably working is AMD64_LINUX.

I certainly haven't tested all targets.

User-level threads work everywhere.

Except for AMD64_LINUX I would not suggest putting anything important to
use Modula-3 threads built on pthreads.  They work... until they don't.

Anyone wishing to work on this and fix it, please don't change the
AMD64_LINUX code at all unless you know exactly, precisely what you
are doing.  It is very very difficult to debug the subtle bugs that
get introduced.

As far as I know there's no problem with C pthreads on FreeBSD.

     Mika

Jay writes:
>Posix threads from C? From Modula-3? 
>
> - Jay
>
>On Jun 5, 2015, at 8:42 AM, <mika at async.caltech.edu> wrote:
>
>> Jay K writes:
>>> --_da40b763-6cc9-48e7-9a39-2f2565af44c7_
>>> Content-Type: text/plain; charset="iso-8859-1"
>>> Content-Transfer-Encoding: quoted-printable
>>> 
>>> The FreeBSD4 users were surprisingly vocal surprisingly recently.
>>> So I put some work into it.
>>> I agree it is an old system.
>> 
>> I think you mean "the FreeBSD4 user"... I was actually running FreeBSD 5,
>> but the 4.x config worked well.  
>> 
>> I've since upgraded to 10.0-RELEASE.  And don't use it much anymore
>> because posix threads (still) don't work right on FreeBSD.  I spent a 
>> considerable effort to get them working right on Debian, which they
>> now do, but didn't have the time to figure it out for a bunch of 
>> other OSes as well.  It's really pretty nice to have them working
>> correctly.  They aren't perfect (a bit too much locking over garbage
>> collection issues) but they don't ever seem to crash.  On problems
>> with lots of parallelism you do get some parallel speedup, even.
>> 
>>     Mika



More information about the M3devel mailing list