I enclose a diff of the changes I have to procServ 2.6.0 (compiled under Cygwin) which I found useful when using it to manage native windows IOCs. In summary they:
* add spawned process to a windows job object. Killing the "process group" from Cygwin doesn't always clean everything up. For example, if the CS Studio ArchiveEngine is being managed it is killed, but not the java.exe JVM process it spawns. Job objects are inherited by spawned processes, so both are now killed automatically.
* hide console command window that is created
* fix small memory leak in clientItem() destructor
* automatic daily log file rotation - log file name is parsed by strftime() to determine filename format
* updated libtelnet to never version (fixes an off by one malloc error)
* Added remakeConnection() method to acceptItem - after a lot of connect/disconnect calls I found procServ stopped accepting connections.
* windows does not do line buffering, so need to look for EOL to write timestamps in correct place on output line
* handle SIGTTIN, set SNDTIMEO on socket and also do select() before write to process. I had some hangs in cygwin fhandler_pty_master::doecho() and these changes were part of debugging this, probably not necessary anymore.