[M3devel] RC merge

Tony Hosking hosking at cs.purdue.edu
Sat Sep 12 04:20:57 CEST 2009


I propose leave ThreadF safe, and revert back to MyHeapState:ADDRESS  
in ThreadF.

Antony Hosking | Associate Professor | Computer Science | Purdue  
University
305 N. University Street | West Lafayette | IN 47907 | USA
Office +1 765 494 6001 | Mobile +1 765 427 5484




On 11 Sep 2009, at 17:26, Jay K wrote:

> Yes and no. I agree I made a small mess. I'm not sure you have quite  
> described how it should be.
>
> I propose a few options:
>  1 - asis, probably not
>  2 - rename/merge ThreadUnsafe to ThreadInternal
>  3 - move the part that external folks use, probably just MyId, to  
> Thread, and then move ThreadUnsafe back to ThreadF, maybe  
> ThreadInternal to ThreadF too
>
> 2 at least removes one interface that I added, reducing the three  
> similar ThreadF, ThreadUnsafe, ThreadInternal, to just two, ThreadF  
> and ThreadInternal
>
> 3 maybe gratuitously breaks folks but is a clean result
>
>  4 - like you said, make all ThreadF users unsafe; but IF it is just  
> MyId, and I'm not sure it is, which seems harmless, right? seems  
> wrong to make them unsafe.
>
>  - Jay
>
> From: hosking at cs.purdue.edu
> To: jay.krell at cornell.edu
> Date: Fri, 11 Sep 2009 16:51:11 -0400
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] RC merge
>
> Sorry, it looks like my commit failed last night because of need to  
> merge with your ThreadUnsafe stuff.
>
> FYI, we really should think about making ThreadF UNSAFE since anyone  
> invoking on it is exposed to dangerous parts of the run-time  
> system.  Is there any need for it really to be safe?
>
> On 11 Sep 2009, at 16:05, Jay K wrote:
>
> Tony I'll double check if I see the hang. NT386 still crashes.
>
> http://www.modula3.com/cm3/ChangeLog-2009
>
> "
> 2009-09-08 05:54 hosking
>
>   * m3-libs/m3core/src/: convert/CConvert.m3,
>     runtime/common/RTAllocator.m3, runtime/common/RTCollector.m3,
>     runtime/common/RTCollectorSRC.i3, runtime/common/RTHeapInfo.m3,
>     runtime/common/RTHeapRep.i3, runtime/common/RTHeapRep.m3,
>     runtime/common/RTHeapStats.m3, runtime/common/RTLinker.m3,
>     runtime/common/RTOS.i3, runtime/ex_frame/RTExFrame.m3,
>     runtime/ex_stack/RTExStack.m3, thread/POSIX/ThreadF.i3,
>     thread/POSIX/ThreadPosix.m3, thread/PTHREAD/ThreadF.i3,
>     thread/PTHREAD/ThreadPThread.m3, thread/WIN32/ThreadF.i3,
>     thread/WIN32/ThreadWin32.m3:
>
>   Tidy up use of thread.inCritical to only occur in allocation  
> sequences and in
>   thread stoppage.  This simplifies reasoning.  Refactored use of  
> heap lock
>   in the process.  This may be better implemented on PTHREAD targets  
> using a
>   recursive pthread mutex instead of one we roll ourselves from a  
> non-recursive
>   mutex.
>
>   Still witnessing random hangs in Juno and mentor on I386_DARWIN.
>   Strange, I thought this was working previously.
>   I wonder if there is some sort of race in the GUI code somewhere?
> "
>
> ??
> -  Jay
>
>
> From: hosking at cs.purdue.edu
> To: jay.krell at cornell.edu
> Date: Fri, 11 Sep 2009 12:46:19 -0400
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] RC merge
>
> No, the hangs in Juno and mentor are no longer there.  I cannot  
> reproduce them on I386_DARWIN.
>
> On 11 Sep 2009, at 10:24, Jay K wrote:
>
> But the hangs are still present, right? Worth merging without that  
> fixed?
>
> How does one do it easily?
> I wish we used Perforce. :(
>
>  - Jay
>
>
> From: hosking at cs.purdue.edu
> To: m3devel at elegosoft.com
> Date: Fri, 11 Sep 2009 09:45:23 -0400
> Subject: [M3devel] RC merge
>
> Can someone merge my recent deep fixes to pthreads threading over to  
> the release branch?  I won't get a chance to do so until next Monday  
> at the earliest.
>
> Antony Hosking | Associate Professor | Computer Science | Purdue  
> University
> 305 N. University Street | West Lafayette | IN 47907 | USA
> Office +1 765 494 6001 | Mobile +1 765 427 5484
>
>
>
>
>
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090911/e14a41e4/attachment-0002.html>


More information about the M3devel mailing list