Boost logo

Boost :

Subject: Re: [boost] [1.61.0] Master branch is closed
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2016-04-23 19:08:14


Le 24/04/2016 00:11, Vicente J. Botet Escriba a écrit :
> Le 24/04/2016 00:06, Vicente J. Botet Escriba a écrit :
>> Le 23/04/2016 23:29, Vicente J. Botet Escriba a écrit :
>>> Le 23/04/2016 23:22, Vicente J. Botet Escriba a écrit :
>>>> Le 23/04/2016 21:44, Vladimir Prus a écrit :
>>>>> On 4/21/2016 8:17 PM, Vicente J. Botet Escriba wrote:
>>>>>> Le 21/04/2016 08:39, Vladimir Prus a écrit :
>>>>>>> On 4/21/2016 1:24 AM, Vicente J. Botet Escriba wrote:
>>>>>>>> Le 20/04/2016 21:17, Vladimir Prus a écrit :
>>>>>>>>>
>>>>>>>>> Boosters,
>>>>>>>>>
>>>>>>>>> The master branch is now closed for all changes, except by
>>>>>>>>> permission from a release manager.
>>>>>>>>> Per schedule, the branch will be totally frozen on Saturday.
>>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I've come back from vacations (last Sunday) and I believed that
>>>>>>>> the version 1.61 was already released.
>>>>>>> >
>>>>>>>> I have fixed two major bugs and some doc issues that I would
>>>>>>>> like to merge into the master branch.
>>>>>>>>
>>>>>>>> Could I do the merge on Friday if the develop regressions are
>>>>>>>> good?
>>>>>>>
>>>>>>> Vicente,
>>>>>>>
>>>>>>> you've listed quite a large number of changes in your email,
>>>>>>> including some merge commits. This
>>>>>>> looks like too large change to merge when the master branch is
>>>>>>> closed. Possibly, you've copy-pasted
>>>>>>> something from GitHub interface, and it did not came across as
>>>>>>> intended.
>>>>>>>
>>>>>>> If you believe there are truly horrible bugs that would regress
>>>>>>> boost.thread, could you specifically
>>>>>>> list those bugs, along with commits fixing those bugs
>>>>>>> specifically - and we can cherry-pick those
>>>>>>> changes if so warranted.
>>>>>>>
>>>>>>>> The commits are the following:
>>>>>>> ...
>>>>>>>> viboes
>>>>>>>> <https://github.com/boostorg/thread/commits/develop?author=viboes>
>>>>>>>> committed 12 minutes ago
>>>>>>>
>>>>>>>
>>>>>>> In particular, the above appears to show all your commits on
>>>>>>> develop, not any
>>>>>>> particular commit, so it's hard to understand what you're
>>>>>>> proposing to merge.
>>>>>>>
>>>>>>
>>>>>> Sorry, there were some pull merge that I need to fix and a lot of
>>>>>> minor doc changes.
>>>>>>
>>>>>> BTW this commit
>>>>>>
>>>> I would prefer to do a global merge, but I understand it is too late.
>>> Hr, I've forgotten that I did already a merge on master (without the
>>> push evidently).
>>>
>>> Is there a way to undo a merge locally?
>>> Otherwise I'm trying to update the whole repository again.
>>>
>> Could I apply the changes manually?
>>
>> const pthread_once_t
>> pthread_once_init_value=PTHREAD_ONCE_INIT;
>> struct BOOST_THREAD_DECL delete_epoch_tss_key_on_dlclose_t
>> {
>> delete_epoch_tss_key_on_dlclose_t()
>> {
>> }
>> ~delete_epoch_tss_key_on_dlclose_t()
>> {
>> if(memcmp(&epoch_tss_key_flag,
>> &pthread_once_init_value, sizeof(pthread_once_t)))
>> {
>> * void* data =
>> (void*)pthread_getspecific(epoch_tss_key);**
>> ** if (data)**
>> ** delete_epoch_tss_data(data);**
>> * pthread_key_delete(epoch_tss_key);
>> }
>> }
>> };
>>
>> struct delete_current_thread_tls_key_on_dlclose_t
>> {
>> delete_current_thread_tls_key_on_dlclose_t()
>> {
>> }
>> ~delete_current_thread_tls_key_on_dlclose_t()
>> {
>> const boost::once_flag uninitialized =
>> BOOST_ONCE_INIT;
>> if (memcmp(&current_thread_tls_init_flag,
>> &uninitialized, sizeof(boost::once_flag)))
>> {
>> * void* data =
>> pthread_getspecific(current_thread_tls_key);**
>> ** if (data)**
>> ** tls_destructor(data);**
>> * pthread_key_delete(current_thread_tls_key);
>> }
>> }
>> };
>>
>> scoped_thread& operator=(BOOST_RV_REF(scoped_thread) x)
>> {
>> * CallableThread on_destructor;**
>> **
>> ** on_destructor(t_);**
>> * t_ = boost::move(BOOST_THREAD_RV(x).t_);
>> return *this;
>> }
>>
> Sorry for the format
>
> const pthread_once_t
> pthread_once_init_value=PTHREAD_ONCE_INIT;
> struct BOOST_THREAD_DECL delete_epoch_tss_key_on_dlclose_t
> {
> delete_epoch_tss_key_on_dlclose_t()
> {
> }
> ~delete_epoch_tss_key_on_dlclose_t()
> {
> if(memcmp(&epoch_tss_key_flag,
> &pthread_once_init_value, sizeof(pthread_once_t)))
> {
> + void* data =
> (void*)pthread_getspecific(epoch_tss_key);
> + if (data)
> + delete_epoch_tss_data(data);
> pthread_key_delete(epoch_tss_key);
> }
> }
> };
>
> struct delete_current_thread_tls_key_on_dlclose_t
> {
> delete_current_thread_tls_key_on_dlclose_t()
> {
> }
> ~delete_current_thread_tls_key_on_dlclose_t()
> {
> const boost::once_flag uninitialized =
> BOOST_ONCE_INIT;
> if (memcmp(&current_thread_tls_init_flag,
> &uninitialized, sizeof(boost::once_flag)))
> {
> + void* data =
> pthread_getspecific(current_thread_tls_key);
> + if (data)
> + tls_destructor(data);
> pthread_key_delete(current_thread_tls_key);
> }
> }
> };
>
> scoped_thread& operator=(BOOST_RV_REF(scoped_thread) x)
> {
> + CallableThread on_destructor;
> +
> + on_destructor(t_);
> t_ = boost::move(BOOST_THREAD_RV(x).t_);
> return *this;
> }
>
>
I have applied manually the changes
https://github.com/boostorg/thread/commit/2494f3fc7a6dcaa990d2801ba7f91ffa3728b136

Hopping this workaround doesn't disturb the release managers.

Let me know if I should rollback this change,
Vicente


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk