All callbacks invoked by WiredTiger (and other C) storage engines must terminate rather than propagate exceptions

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Done
    • Priority: Major - P3
    • 2.8.0-rc1
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • ALL
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Because C code is not exception safe, C++ callbacks invoked by C code need to terminate rather than allow exceptions to escape. This could be done by labeling these callbacks as noexcept, except that several compilers do not correctly implement noexcept. Instead, we should just wrap the bodies of these functions in try { } catch (...)

      { std::terminate() }

      .

            Assignee:
            Andy Schwerin
            Reporter:
            Andy Schwerin
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: