<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
short story:<BR>
  I think we should have SchedulerPosix.IOWait and SchedulerPosix.IOAlertWait, but not SchedulerPosix.WaitProces, on Win32. With the CARDINAL changed back to INTEGER.<BR>
  As well, as before, I'd like to only have one implementation of this. Currently there are two identical copies, due to Cygwin. But this proposal is for regular Win32.<BR>
 <BR>
 <BR>
long story:<BR>
  Win32 has select, for sockets. Instead of a bitset, it uses an array of 64, so doesn't have the problem that poll fixes.<BR>
 <BR>
  SocketPosix.m3 makes sockets non-blocking and uses IOWait and IOAlertWait.<BR>
  SocketPosix.Connect/Accept are alertable.<BR>
  SocketWin32.Connect/Accept are not alertable.<BR>
   That seems wrong, eh?<BR>
  I assume this difference is due to original implementers not realizing their options on Win32.<BR>
  I assume this difference would be good to remove.<BR><BR>
 <BR>
 IOWait is merely a call to select (assuming kernel threads).<BR>
    In rewritten-in-C, I can easily just #ifdef and call select on Win32.<BR>
 IOAlertWait is implemented by polling via select/poll for up to a maximum of a second at a time, testing alert between each.<BR>
    It is this code that I don't think should be duplicated. We already have two copies of it due to Cygwin.<BR>
 (I think we might be able to do better on Win32 though, by using Win32 alerting as part of Modula-3 alerting, but for the time being, sharing code with Posix that polls every second would be ok.)<BR>
 <BR>
 <BR>
 - Jay<BR>                                     </body>
</html>