[M3devel] 5.8.6 LINUXLIBC6 breakage, kernel 2.6.23, glibc-2.6-4

Hendrik Boom hendrik at topoi.pooq.com
Thu Apr 21 16:54:27 CEST 2011


On Thu, Apr 21, 2011 at 04:47:33PM +0200, Olaf Wagner wrote:
> Quoting Tony Hosking <hosking at cs.purdue.edu>:
>
>> I'm not familiar with the architecture of CVSup.
>>
>> On Apr 21, 2011, at 10:28 AM, Hendrik Boom wrote:
>>
>>> On Thu, Apr 21, 2011 at 10:20:54AM -0400, Tony Hosking wrote:
>>>>
>>>> On Apr 21, 2011, at 9:19 AM, Hendrik Boom wrote:
>>>>
>>>>> On Wed, Apr 20, 2011 at 10:58:06AM -0400, Tony Hosking wrote:
>>>>>> Agreed.  But CVSup used it and we were trying to be supportive.
>>>>>
>>>>> So, at present, CVSup presumably works with user threads.
>>>>> Maybe the cure is to fix CVSup instead of fork().
>>>>>
>>>>> Why does CVSup needs a fork() that preserves all threads?  Is
>>>>> it essential to its design, or incidental?
>>>>
>>>> CVSup uses fork in an ill-defined way. fork is only well-defined   
>>>> for use as fork+exec.  So, the fact that there are continuing   
>>>> threads is immaterial.  CVSup wants to continue doing real work   
>>>> (without exec) after fork.
>>>
>>> Does it need to use fork() at all?  Wuld it suffice to use Modula 3's
>>> own thread system?
>
> Not for real word server applications, where one problem in a user
> session would crash dozens of other sessions. At least this was what
> John Polstra reported. The additional safety of separate address
> spaces _has_ its advantages.
>
> I thought CVSup had been changed to work with pthreads though in CM3?
> Or do I misremember?
>
> Anyway, this shouldn't be our most important problem, but rather make
> System pthreads and also M3 user threads work in a reliable and
> fault-free way again.

Once our only problems are with CVSup's abuse of fork(), I'd 
consider that done.

-- hendrik



More information about the M3devel mailing list