|
From: Tom H. <th...@cy...> - 2005-01-10 17:00:47
|
In message <1105375498.29068.48.camel@localhost.localdomain>
Jeremy Fitzhardinge <je...@go...> wrote:
> On Mon, 2005-01-10 at 10:17 +0000, Tom Hughes wrote:
>
>> The problem is that the LDT needs to be copied from the parent
>> thread when a child is created. That is done by VGA_(setup_child)
>> but that is no longer being called.
>>
>> If you change do_clone() and add this line just before the
>> code to handle SETTLS then it should work:
>>
>> VGA_(setup_child)(&ctst->arch, &ptst->arch);
>
> Oh, good. For completely correctness, shouldn't they be shared? If one
> thread later uses an LDT-changing call, should that be reflected in the
> other threads?
I'm not sure. I don't think that's my code - the TLS work is mine
but the LDT stuff for linuxthreads already existed.
My memory is that the kernel normally copies the LDT when creating
a new task but I might be wrong.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|