<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
It seems some of these files are marked "executable".<BR>
How to fix?<BR>
I know, locally, chmod -x *, but so that that cvs upd gives you non-executable files?<BR>
I'm searching the web but not finding it yet.<BR>
 <BR>
 - Jay<BR><BR><BR>> Date: Wed, 31 Dec 2008 21:05:27 +0000<BR>> To: m3commit@elegosoft.com<BR>> From: jkrell@elego.de<BR>> Subject: [M3commit] CVS Update: cm3<BR>> <BR>> CVSROOT: /usr/cvs<BR>> Changes by: jkrell@birch. 08/12/31 21:05:27<BR>> <BR>> Modified files:<BR>> cm3/m3-libs/m3core/src/thread/: m3makefile <BR>> cm3/m3-libs/m3core/src/thread/Common/: SchedulerPosix.i3 <BR>> m3makefile <BR>> cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 <BR>> cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 <BR>> cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 m3makefile <BR>> cm3/m3-libs/m3core/src/unix/cygwin/: Unix.i3 <BR>> Added files:<BR>> cm3/m3-libs/m3core/src/thread/: ThreadInternal.i3 <BR>> ThreadPScheduler.m3 <BR>> ThreadPWait.m3 <BR>> Removed files:<BR>> cm3/m3-libs/m3core/src/thread/WIN32/: WaitProcessCygwin.m3 <BR>> WaitProcessWin32.m3 <BR>> <BR>> Log message:<BR>> move code around with the following goals<BR>> <BR>> fold the three implementations of WaitProcess down to two<BR>> minor, would not be done if it was the only point<BR>> This is ThreadPWait.m3.<BR>> <BR>> remove stub SchedulerPosix from NT386 AND NT386GNU<BR>> presumably nobody calls the NT386 version, so also (half) minor<BR>> <BR>> give NT386GNU the real implementation of SchedulerPosix<BR>> This is more significant then, e.g. working versions of IOWait (aka select).<BR>> This is ThreadPScheduler.m3, moved out of ThreadPThread.m3.<BR>> Note that the name is open to debate.<BR>> There is this general problem that "P" for posix means two very different things.<BR>> It means posix user/alarm threads and posix kernel threads.<BR>> (Note that Win32 generalizes select to work on more than just sockets...<BR>> either completion ports or WaitForMultipleObjects I assume the generalized analog..)<BR>> <BR>> provide a /tiny/ abstraction for Posix waitpid users to<BR>> provide their own yielding if necessary<BR>> This used by WaitProcess.<BR>> It potentially for sysutils also, but sysutils can't depend on m3core changes<BR>> due to bootstrapping against older m3core.<BR>> <BR>> The next step is to factor out m3core/threads/m3makefile into<BR>> m3core/thread.quake so that sysutils can share its decision as to<BR>> if kernel threads are in use and therefore if waitpid yields.<BR>> Essentially to copy m3core ThreadPWait plus the other one liner.<BR>> If we could rely on newer m3core, then sysutils could just call SchedulerPosix.DoesWaitPidYield().<BR>> <BR>> This may look scary but it is mainly only moving existing code around,<BR>> and very small changes otherwise.<BR>> Except for Cygwin which gets the significant improvement of a real SchedulerPosix.<BR>> <BR>> Since code was moved -- ThreadPThread.m3 split into three files, there<BR>> was also a need for an interface so that code moved out of ThreadPThread<BR>> could call back to private shared code there, and the other implementation<BR>> in ThreadWin32. That is ThreadInternal.i3.<BR>> It could be ThreadF.i3, but that would be unnecessarily exposed and worse,<BR>> export a variable outside the package, which is a bad idea.<BR>> Perhaps wrap up the variable in a function? Maybe.<BR>> As well, ThreadF.i3 has three similar copies and this new content would be<BR>> needed in two of them. Perhaps the three copies could be combined to one,<BR>> with no-op stubs where functions don't make sense (as comments already<BR>> indicate exist).<BR>> <BR>> If cygwin used pthreads, this wouldn't be needed at all.<BR>> However, it is reasonable.<BR>> Maybe go back and debug Cygwin pthreads again at some point...<BR>> Maybe combine ThreadInternal.i3 and ThreadF.i3.<BR>> F is "friend" -- aka expose internals to special people, not the<BR>> public interface, but sometimes it is needed, thus "F" and "Internal"<BR>> are synonyms and you should really never have both, but here they are.<BR>> <BR><BR></body>
</html>