<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
There certainly is such a campain in general.<BR>
<BR>
It has a few "labels".<BR>
Posix <BR>
glibc <BR>
BSD sockets <BR>
Mono <BR>
C <BR>
stdio.h <BR>
gcc <BR>
As well as "Linux" and "NT".<BR>
<BR><BR>The challenge then is weaving your way around options such as:<BR>
chosing a very small number of systems, e.g. just NT <BR>
chosing a very small number of features, e.g. stdio.h <BR>
layering on some interface that you believe you can implement on top of multiple other systems<BR>
e.g. Thread.i3, ThreadWin32.m3, ThreadPThread.m3 <BR>
with various qualities, costs (maintenance, performance), etc. <BR>
e.g. Trestle <BR>
e.g. garbage collection (esp. when combined with Thread.i3) <BR>
<BR>
There is no one easy answer here.<BR>
It helps that "chosing a very small number of systems" is a popular choice, thereby narrowing the field,<BR>
unless you are/were one of the less popular systems. :)<BR>
<BR>
- Jay<BR><BR> <BR>> Date: Mon, 30 Nov 2009 11:05:01 -0500<BR>> From: hendrik@topoi.pooq.com<BR>> To: m3devel@elegosoft.com<BR>> CC: hendrik@topoi.pooq.com<BR>> Subject: Re: [M3devel] [M3commit] CVS Update: cm3<BR>> <BR>> On Mon, Nov 30, 2009 at 09:48:48AM -0500, Tony Hosking wrote:<BR>> > 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.<BR>> <BR>> There seems to be a campaign to make all OS's behave the same to the <BR>> lowest possible code level. The only way to do that is to restrict <BR>> ourselves to a subset of their facilities that all share. I suspect <BR>> this is too restrictive. For popular platforms, at least, we should be <BR>> open to implement Modula 3 library features in a way that takes <BR>> advantage of those platforms peculiar abilities -- provided that the <BR>> library-user facilities remain compatible of course.<BR>> <BR>> That said, Windows is a popular platform that I have no use for (Windows <BR>> won't even install on my most-used machine -- for some obscure reason <BR>> it will only run in maintenance mode; my daughter says the machine is <BR>> corsed). The only thing I need Windows for is writing programs that <BR>> are to uised by other people. For that purpose, I do care that any <BR>> Modula 3 applications I write can be cross-compiled (ideally) and <BR>> immediately run properly on Windows without modification.<BR>> <BR>> But I suspect that is too much to expect in the real world, even with <BR>> the uncanny competence with which Modula 3 system is put togeter.<BR>> <BR>> -- hendrik<BR>> <BR>> > <BR>> > On 30 Nov 2009, at 13:03, Jay Krell wrote:<BR>> > <BR>> > > CVSROOT: /usr/cvs<BR>> > > Changes by: jkrell@birch. 09/11/30 13:03:07<BR>> > > <BR>> > > Modified files:<BR>> > > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 <BR>> > > <BR>> > > Log message:<BR>> > > keep two thread handles<BR>> > > what to call them is unclear<BR>> > > here we ahve:<BR>> > > joinHandle<BR>> > > suspendResumeHandle<BR>> > > <BR>> > > aka:<BR>> > > pthread<BR>> > > ntthread<BR>> > > <BR>> > > on all but Interix (and possibly Cygwin), they are equivalent,<BR>> > > either the result of pthread_create or pthread_self<BR>> > > <BR>> > > on Interix, once is pthread_create/self, the other is a kernel handle<BR>> > > for suspend/resume<BR>> > > <BR>> > > alternate names welcome<BR>> > > the intent seems hoky, but helps much<BR>> > <BR> </body>
</html>