[M3devel] platform/build_dir is a big tuple?

Tony Hosking hosking at cs.purdue.edu
Thu Jan 24 01:51:33 CET 2008


Yes, setjmp/longjmp hacking (changing fields to cause thread  
switches) breaks on some implementations (Linux) that encrypt the  
fields to prevent exploits.  setcontext/getcontext are the modern  
POSIX calls that should be used for user-threading on POSIX.

On Jan 23, 2008, at 6:08 PM, Jay wrote:

> below
>
> > From: hosking at cs.purdue.edu
> > Subject: Re: [M3devel] platform/build_dir is a big tuple?
> >
> > On Jan 23, 2008, at 2:49 AM, Jay wrote:
> >
> > > Oh, sorry, Modula-3 has never to my knowledge used user/vtalarm
> > > threads.
> >
> > ThreadPosix uses user/vtalarm threads. Swicthing is done using
> > setjmp/longjmp or setcontext/getcontext depending on platform. ON
> > modern POSIX platforms it should always use the latter.
>
> Oops, I meant on Windows!
>
> The use of setjmp/longjmp is not ANSI C conformant, right? I kind  
> of suspect how it'd work without having looked it but I don't have  
> quite in my head. Will look later and know better, just curious, no  
> matter.
>
>
>    - Jay
>
> Shed those extra pounds with MSN and The Biggest Loser! Learn more.




More information about the M3devel mailing list