Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-11115

Split WT_PUBLISH into two separate macros

    • Type: Icon: Task Task
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • 5

      We have a common pattern in the code base where we use the WT_PUBLISH macro

      #define WT_PUBLISH(v, val)  \
          do {                    \
              WT_WRITE_BARRIER(); \
              (v) = (val);        \
          } while (0) 

      for enforcing both read_once and ordering semantics. We've been discussing in the review committee meetings whether it makes sense to split these out into separate macros and how this will impact ease of code writing/reading.

      We'll create a small proof of concept that show the usage of these new macros to see how readable it is and if it's worth pursuing further.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            andrew.morton@mongodb.com Andrew Morton
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: