We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
问题产生场景: 当一个bthread(taskmeta中的attr.keytable_pool = null)的生命周期结束,且其拥有keytable实例时。在销毁keytable时会调用由用户创建bthread_key_create(bthread_key_t* key, void (destructor)(void data))中传入的destructor析构函数,如果destructor内部使用了bthread-mutex并挂起的话,bthread恢复后所在的task_group会发生变化。在现有的task_runner实现中,如果在return_keytable后不重新指定task_group的话,调用ending_sched(&g)会出现错误。
疑问:
The text was updated successfully, but these errors were encountered:
Successfully merging a pull request may close this issue.
问题产生场景:
当一个bthread(taskmeta中的attr.keytable_pool = null)的生命周期结束,且其拥有keytable实例时。在销毁keytable时会调用由用户创建bthread_key_create(bthread_key_t* key, void (destructor)(void data))中传入的destructor析构函数,如果destructor内部使用了bthread-mutex并挂起的话,bthread恢复后所在的task_group会发生变化。在现有的task_runner实现中,如果在return_keytable后不重新指定task_group的话,调用ending_sched(&g)会出现错误。
疑问:
g = BAIDU_GET_VOLATILE_THREAD_LOCAL(tls_task_group);移动到调用return_keytable后:也就是从task_group.cc line311 移动到line334。
The text was updated successfully, but these errors were encountered: