Previously on windows the FileForwarder threads would
continue to run and eat up a lot of CPU once the child process
they were forwarding dies. This commit shuts down those threads
when the child process is killed.
Multiprocess debugging messages now use one color per process
Corrected RemoteGraphicsView not setting correct pg options on remote
process
New debugging tools:
* util.cprint for printing color on terminal (based on colorama)
* debug.ThreadColor causes each thread to print in a different color
* debug.PeriodicTrace used for debugging deadlocks
* Mutex for detecting deadlocks
- Process now optionally wraps stdout/stderr from child process to
circumvent a python bug
- Added windows error number for port-in-use check
- fixed segv caused by lost QImage input in pyside
- GraphicsView.render now correctly invokes GraphicsScene.prepareForPaint
- Fixed RemoteGraphicsView renderer to use new PyQt QImage API.
- multiprocess.Process now pipes stdout/err directly to console when in debugging mode
- GraphicsItem.pixelVectors copies cached results before returning
- Multiprocess fixes for Windows:
- mmap/shm uses anonymous maps rather than tempfiles
- avoid use of getppid and setpgrp
- work around hmac authentication bug (use os.urandom to generate key)