The reference to signal.SIGPIPE causes an exception on Windows: AttributeError: 'module' object has no attribute 'SIGPIPE'. Apparently, on Windows there's no such thing as a SIGPIPE.

The docs have this to say: "On Windows, signal() can only be called with SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV, or SIGTERM. A ValueError will be raised in any other case."

Suggesting this change:
```
    try:
        signal.signal(signal.SIGPIPE, signal.SIG_DFL)
    except (AttributeError, ValueError) as ex1:
        ## Different OS's have different signals defined. In particular,
        ## SIGPIPE doesn't exist one Windows
        pass
```