[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