-
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 <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
Signed-off-by: Mishin, Ilya <[email protected]>
c0445be
to
80d0385
Compare
Signed-off-by: Mishin, Ilya <[email protected]>
Co-authored-by: Aleksei Fedotov <[email protected]>
* Add raii to aggregator to prevent stuck Signed-off-by: Mishin, Ilya <[email protected]> * Add test Signed-off-by: Mishin, Ilya <[email protected]> * Reuse tbb raii guard Signed-off-by: Mishin, Ilya <[email protected]> * Add header Signed-off-by: Mishin, Ilya <[email protected]> * execute_and_wait lightweight task Signed-off-by: Mishin, Ilya <[email protected]> * remove unused headers Signed-off-by: Mishin, Ilya <[email protected]> * remove space Signed-off-by: Mishin, Ilya <[email protected]> * remove std::function Signed-off-by: Mishin, Ilya <[email protected]> * noexcept lightweight body Signed-off-by: Mishin, Ilya <[email protected]> * fix cmake Signed-off-by: Mishin, Ilya <[email protected]> * fix space Signed-off-by: Mishin, Ilya <[email protected]> * gcc error Signed-off-by: Mishin, Ilya <[email protected]> * declval gateway_type Signed-off-by: Mishin, Ilya <[email protected]> * new tests Signed-off-by: Mishin, Ilya <[email protected]> * template tests Signed-off-by: Mishin, Ilya <[email protected]> * macro TBB_USE_EXCEPTIONS Signed-off-by: Mishin, Ilya <[email protected]> * Apply suggestions from code review Co-authored-by: Aleksei Fedotov <[email protected]> Co-authored-by: Aleksei Fedotov <[email protected]>
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