This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [c++0x] std::thread fixes


On Thu, Jan 22, 2009 at 12:57 PM, Paolo Carlini
<paolo.carlini@oracle.com> wrote:
> Jonathan Wakely wrote:
>> As discussed recently, the names in std::thread don't follow the
>> libstdc++ coding style.
>>
>> There's a memory leak in the case where a new thread can't be started,
>> because of the shared_ptr cycle created in _M_this_ptr.
>>
>> The std::thread move constructor and assignment operator definitions
>> are missing.
>>
>>  _Thread_data_base doesn't need a mutex, and doesn't need to derive
>> from enable_shared_from_this.
>>
> [snip]
>
> Thanks Jon for this work. I understand it also includes changes in ABI,
> because of the mutexes, thus, even if we are talking about C++0x mode,
> it would be nice to converge as soon as possible and then do not make
> changes during 4.4.x. I'd like to hear Chris too, about std::thread...

Most of these changes were previously discussed via private email and
on the list as well. As for the ABI, I don't see the gnu.ver changes
for the __start_thread  to _M_start_thread change and
_Thread_data_base rename as well. Also, should we just inline
thread.join and thread.detach to avoid having to export their names?
Not that I think the names are ever going to change but two less
things affecting the ABI seems like a good thing. Not sure about the
rules to determine whats sufficiently trivial and inline-able.

Otherwise, OK with the rest.

Chris


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]