<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
It is no longer relevant though right?<BR>
And hasn't been for over 10 years?<BR>
#ifdef and use select optionally?<BR>
Could do that in the C most likely.<BR>
I've actually only built this on Linux and/or Darwin. And checked various manpages...er, at least Solaris. I'd have to double double check Free/Open/NetBSD/Darwin..<BR>
<BR>
<BR>
The somewhat fixed limit of select bugs me.<BR>
And then it bugs that the Modula-3 is written to work with arbitrary large numbers, but by cloning the headers in a "hidden" way.<BR>
With poll we get no cloning and no limit. And since we are only waiting on one fd, we allocate just a fixed tiny amount of memory.<BR>
Still to consider the user thread stuff though.<BR>
Gosh, I wonder what OpenBSD pthreads do here...<BR>
<BR>
<BR>
- Jay<BR> <BR>> From: hosking@cs.purdue.edu<BR>> Date: Sat, 17 Apr 2010 09:15:08 -0400<BR>> To: jkrell@elego.de<BR>> CC: m3commit@elegosoft.com<BR>> Subject: Re: [M3commit] CVS Update: cm3<BR>> <BR>> Just a historical note. select was 4.2BSD. poll was AT&T System V UNIX. In the bad old days the different Unixes had different APIs. In the early days when Modula-3 user threads were written they were running on BSD systems.<BR>> <BR>> On 17 Apr 2010, at 12:15, Jay Krell wrote:<BR>> <BR>> > CVSROOT: /usr/cvs<BR>> > Changes by: jkrell@birch. 10/04/17 12:15:33<BR>> > <BR>> > Modified files:<BR>> > cm3/m3-libs/m3core/src/thread/Common/: SchedulerPosix.i3 <BR>> > ThreadInternal.c <BR>> > ThreadInternal.i3 <BR>> > cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 <BR>> > cm3/m3-libs/m3core/src/thread/WIN32/: SchedulerPosix.m3 <BR>> > <BR>> > Log message:<BR>> > switch pthreads and cygwin from select to poll<BR>> > They only wait for one file at a time, so the change is easier.<BR>> > <BR>> > Leave userthreads using select.<BR>> > It waits for multiple, so the change is a bit more.<BR>> <BR> </body>
</html>