Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-10407

Flush methods of RHist fillers are not implemented correctly

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Low
    • Resolution: Fixed
    • Affects Version/s: master
    • Fix Version/s: None
    • Component/s: Core Libraries
    • Labels:
    • Environment:
    • Development:

      Description

      The Flush method of the RHistBufferedFill and RHistConcurrentFiller buffered histogram fillers is not implemented correctly, because it does not reset the buffer entry count (fCursor) to 0 after sending the buffered entries to the parent histogram.

      As a result, calling Flush multiple times in a row will result in the same entries being filled into the parent histogram multiple times. And a Flush call followed by further histogram Fills will, for obvious reasons, have a similar effect.

      This problem should be resolved by moving the fCounter = 0 statement of FHistBufferedFillBase::Fill into the Flush method(s). This could be implemented without code duplication by making Flush a method of FHistBufferedFillBase which calls into a derived class specific FlushImpl method, then resets the buffer.

        Attachments

          Activity

            People

            Assignee:
            hgraslan Hadrien Benjamin Grasland
            Reporter:
            hgraslan Hadrien Benjamin Grasland
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: