[M3devel] [M3commit] CVS Update: cm3

hendrik at topoi.pooq.com hendrik at topoi.pooq.com
Mon Nov 30 17:05:01 CET 2009


On Mon, Nov 30, 2009 at 09:48:48AM -0500, Tony Hosking wrote:
> This whole interix thing is pretty messy.  Why do we care?  If you are on Windows just use Windows threads.   No need to pollute the pthreads code base with unnecessary complications for weird hybrids.

There seems to be a campaign to make all OS's behave the same to the 
lowest possible code level.  The only way to do that is to restrict 
ourselves to a subset of their facilities that all share.  I suspect 
this is too restrictive.  For popular platforms, at least, we should be 
open to implement Modula 3 library features in a way that takes 
advantage of those platforms peculiar abilities -- provided that the 
library-user facilities remain compatible of course.

That said, Windows is a popular platform that I have no use for (Windows 
won't even install on my most-used machine -- for some obscure reason 
it will only run in maintenance mode; my daughter says the machine is 
corsed).  The only thing I need Windows for is writing programs that 
are to uised by other people.  For that purpose, I do care that any 
Modula 3 applications I write can be cross-compiled (ideally) and 
immediately run properly on Windows without modification.

But I suspect that is too much to expect in the real world, even with 
the uncanny competence with which Modula 3 system is put togeter.

-- hendrik

> 
> On 30 Nov 2009, at 13:03, Jay Krell wrote:
> 
> > CVSROOT:	/usr/cvs
> > Changes by:	jkrell at birch.	09/11/30 13:03:07
> > 
> > Modified files:
> > 	cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 
> > 
> > Log message:
> > 	keep two thread handles
> > 	what to call them is unclear
> > 	here we ahve:
> > 	joinHandle
> > 	suspendResumeHandle
> > 	
> > 	aka:
> > 	pthread
> > 	ntthread
> > 	
> > 	on all but Interix (and possibly Cygwin), they are equivalent,
> > 	either the result of pthread_create or pthread_self
> > 	
> > 	on Interix, once is pthread_create/self, the other is a kernel handle
> > 	for suspend/resume
> > 	
> > 	alternate names welcome
> > 	the intent seems hoky, but helps much
> 



More information about the M3devel mailing list