<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
This is in now.<br>Mika, can you try user threads again, and this time remove -pthread/-pthreads/-lpthread from your config files?<br>Really, if user threads are to be supported, I wish they were easier to use -- no need to rebuild m3core<br>or anything else, and specifiable in link or runtime commads.<br><br>More details below:<br><br><br><hr id="stopSpelling">From: jay.krell@cornell.edu<br>To: m3devel@elegosoft.com<br>Subject: pthread_atfork<br>Date: Tue, 19 Apr 2011 06:07:01 +0000<br><br>

<meta http-equiv="Content-Type" content="text/html; charset=unicode">
<meta name="Generator" content="Microsoft SafeHTML">
<style>
.ExternalClass .ecxhmmessage P
{padding:0px;}
.ExternalClass body.ecxhmmessage
{font-size:10pt;font-family:Tahoma;}

</style>


I propose that RTProcess__RegisterForkHandlers be implemented at least 3 times:<br><br>...<br>manually for userthreads:<br>...<br>take a lock, maintain the three lists/growable arrays, whatever<br>probably implement it in Modula-3<br>[Jay April 23] done: implemented in C, locking via Disable/EnableSwitching, ok?<br><br>And then, introduce RTProcess__Fork.<br>Replace all calls to Unix.fork with it.<br>Also implemented around 3 times.<br>..<br><br>RTProcessWin32__Fork: assert(false)<br> fork+exec must be implemented through higher level operations<br> fork+do more work isn't possible<br>[Jay April 23] instead, just not provided<br><br><br><br>This doesn't help us figure out what is wrong with our pthreads implementation.<br>It just makes user threads not require -pthread.<br><br>[Jay April 23] still a major concern in need of significant investigation<br><br>
<br><br> - Jay                                           </body>
</html>