[M3devel] Cooperative suspend?

Jay K jay.krell at cornell.edu
Sun Jan 19 23:58:27 CET 2014

1) portability; We currently have separate code, roughly, for MacOSX, FreeBSD, OpenBSD, NT, and the other Posixes.
MacOSX doesn't have Posix semaphores, for example.
This would give us one codebase here.
Only IA64 would likely remain an outlier, because stack is not merely the address of one local to another, but includes also the grow-up stack for the register saves.

2) It'd workaround the wow64 problem.

 - Jay

> Subject: Re: [M3devel] Cooperative suspend? 
> From: dragisha at m3w.org 
> Date: Sun, 19 Jan 2014 15:28:18 +0100 
> CC: m3devel at elegosoft.com 
> To: jay.krell at cornell.edu 
> Why would we do this, and not signalling, as in POSIX implementation? 
> Why try to make something synchronous when we have working asynchronous 
> implementation? 
> Why would it be better than sync one? 
> On 19 Jan 2014, at 13:00, Jay K 
> <jay.krell at cornell.edu<mailto:jay.krell at cornell.edu>> wrote: 
> There is a list of threads maintained by the m3 runtime. 
> Not by enumerating OS threads. 
> The thread structure contains in it perhaps a boolean or enum as to 
> suspend requested, suspending, suspended, resuming, running, etc. 

More information about the M3devel mailing list