Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DFDL-1699

withParseErrorThrowing has non-thread-safe flag

XMLWordPrintableJSON

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Normal Normal
    • 2.0.0
    • None
    • None
    • None

      withParseErrorThrowing is an inline function which has a body evaluated by name.

      I had hoped (and still do) that inlining such would eliminate the closure. Alas some experiment I did a while ago showed that this is not the case. So we'd have to make it a macro to eliminate the allocation for sure.

      The other thing is that withParseErrorThrowing wasn't supposed to introduce another try/catch if one is already inside one. but that's not implemented. The code path always has the try/catch. This is wholesale broken as that state is global, so not thread safe. It needs to be in the PState.

              dthompson David Thompson
              mbeckerle.dfdl Mike Beckerle
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: