Project

General

Profile

Necessary Maintenance #15673

art - Milestone #15372: art multi-threading phase 1

XXXSignalSentry classes need some work

Added by Christopher Green over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
02/27/2017
Due date:
% Done:

100%

Estimated time:
1.00 h
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
art
Duration:

Description

Two items with respect to signal sentries:
  1. If a signal sentry is constructed without a valid ActivityRegistry, an exception should be thrown. This obviates the need for the validity check on the AcitivityRegistry in the destructor.
  2. Under C++11, destructors are implicitly declared noexcept. See https://akrzemi1.wordpress.com/2011/09/21/destructors-that-throw/ for more details. Sentries need to take account of this and deal with the problem sensibly and consistently.

More generally, we should bear in mind the limitations on destructors with respect to exceptions while implementing the multithreading functionality, and additionally conduct a survey of sentry objects and other non-trivial destrucutors when the code stabilizes and prior to release.


Related issues

Related to cet-is - Necessary Maintenance #15676: Signal sentries need to behave properly when an invoked slot throws an exception in the sentry's destructorClosed2017-02-27

Related to cet-is - Necessary Maintenance #15677: All sentries need to behave properly when an exception is thrown within the sentry's destructorAccepted2017-02-27

History

#1 Updated by Kyle Knoepfel over 2 years ago

  • Status changed from New to Accepted

#2 Updated by Kyle Knoepfel over 2 years ago

  • Parent task set to #15372

#3 Updated by Christopher Green over 2 years ago

  • Estimated time set to 1.00 h

This task shall be for the implementation of point 1 in the list above. Other, related tasks will be made to encompass the other work.

#4 Updated by Christopher Green over 2 years ago

  • Related to Necessary Maintenance #15676: Signal sentries need to behave properly when an invoked slot throws an exception in the sentry's destructor added

#5 Updated by Christopher Green over 2 years ago

  • Related to Necessary Maintenance #15677: All sentries need to behave properly when an exception is thrown within the sentry's destructor added

#6 Updated by Kyle Knoepfel over 2 years ago

  • Related to deleted (Necessary Maintenance #15677: All sentries need to behave properly when an exception is thrown within the sentry's destructor)

#7 Updated by Kyle Knoepfel over 2 years ago

  • Related to Necessary Maintenance #15677: All sentries need to behave properly when an exception is thrown within the sentry's destructor added

#8 Updated by Kyle Knoepfel over 2 years ago

  • Status changed from Accepted to Resolved
  • Assignee set to Kyle Knoepfel
  • Target version set to 1209
  • % Done changed from 0 to 100
  • SSI Package art added

Implemented with commit art:102cb865.

#9 Updated by Kyle Knoepfel over 2 years ago

  • Target version changed from 1209 to 2.07.01

#10 Updated by Kyle Knoepfel over 2 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF