Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-23545

Get rid of ON_BLOCK_EXIT in storage layer

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Icon: Minor - P4 Minor - P4
    • None
    • 3.3.4
    • Internal Code, Storage
    • Storage Execution
    • Fully Compatible

    Description

      It would be nice to get rid of the ON_BLOCK_EXIT macro in favor of using RAII builtins provided by the C++ standard library (up through C++14).

      Starter list:

      /mongo/src/mongo/db/storage $ git grep ON_BLOCK_EXIT
      mmap_v1/repair_database.cpp:        ON_BLOCK_EXIT(&dur::DurableInterface::syncDataAndTruncateJournal, &getDur(), txn);
      wiredtiger/wiredtiger_kv_engine.cpp:    ON_BLOCK_EXIT(c->close, c);
      wiredtiger/wiredtiger_session_cache.cpp:    ON_BLOCK_EXIT([this] { _shuttingDown.fetchAndSubtract(1); });
      wiredtiger/wiredtiger_session_cache.cpp:    ON_BLOCK_EXIT([this] { _shuttingDown.fetchAndSubtract(1); });
      wiredtiger/wiredtiger_size_storer.cpp:        ON_BLOCK_EXIT(_cursor->reset, _cursor);
      wiredtiger/wiredtiger_util.cpp:    ON_BLOCK_EXIT(cursor->close, cursor);
      wiredtiger/wiredtiger_util.cpp:    ON_BLOCK_EXIT(session->close, session, "");
      wiredtiger/wiredtiger_util.cpp:    ON_BLOCK_EXIT(c->close, c);
      
      

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            kyle.suarez@mongodb.com Kyle Suarez
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: