-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
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
Catch exception in lightweight node #623
Catch exception in lightweight node #623
Conversation
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
c0445be
to
80d0385
Compare
Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com>
Co-authored-by: Aleksei Fedotov <aleksei.fedotov@intel.com>
* Add raii to aggregator to prevent stuck Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * Add test Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * Reuse tbb raii guard Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * Add header Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * execute_and_wait lightweight task Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * remove unused headers Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * remove space Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * remove std::function Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * noexcept lightweight body Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * fix cmake Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * fix space Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * gcc error Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * declval gateway_type Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * new tests Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * template tests Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * macro TBB_USE_EXCEPTIONS Signed-off-by: Mishin, Ilya <ilya.mishin@intel.com> * Apply suggestions from code review Co-authored-by: Aleksei Fedotov <aleksei.fedotov@intel.com> Co-authored-by: Aleksei Fedotov <aleksei.fedotov@intel.com>
Is it requirement reflected in the oneTBB specification? I think it should. |
PR regarding the reflection: uxlfoundation/oneAPI-spec#407. @akukanov @alexey-katranov |
Another concern is that, though backward compatibility is not formally broken, the behavior of codes that use lightweight policies may implicitly change, resulting in a possible performance loss. @alexey-katranov, @aleksei-fedotov, have you considered some form of a warning to be issued when lightweight policies are applied without |
Description
If user code throws exception inside body of lightweight node, that deadlock graph. In this patch we require from user mark body
noexcept
for using lightweight policy. If body can throw exception, policy implicitly implements queuing behavior.Fixes # - #420
Type of change
Choose one or multiple, leave empty if none of the other choices apply
Add respective label(s) to PR if you have permissions
Tests
Documentation
Breaks backward compatibility
Notify the following users
List users with
@
to send notificationsOther information