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

SIGPIPE handler can cause infinite loop when stderr pipe is gone

    XMLWordPrintable

    Details

      Description

      Run the attached file via
      root -l -b test.C 2> >(grep 'foo')
      which pipes stderr through grep, then kill the grep process.

      root.exe will then call it's SIGPIPE signal handler, which in turn tries to write to stderr, resulting in an infinite loop. You'll have to kill the process.

      Probably the best way to fix this – without changing anything about the existing functionality – would be to reset the handler to SIG_DFL before anything is printed.

        Attachments

          Activity

            People

            Assignee:
            mato Pere Mato Vila
            Reporter:
            cpulvermacher Christian Pulvermacher (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Actual End: