See also https://sourceforge.net/p/sblim/bugs/2347 (but its closed and I can't re-open it)
The problem is with closeLogging() done by SfcbLocal and the call to startLogging() on the next request. startLogging does not re-open the closed fds and thus operates on stale file descriptors in logfds.
Fix attached. It re-opens the pipe, giving ownership of logfds back to SfcbLocal.
Here's a better patch without the overhead of calling pipe(). It calls closeLogging() with the same 'thread' parameter as startLogging() and closes the logfds[1] only if it was actually opened by startLogging before,
Patch above is against 1.3.11 !
Apparently, SfcbLocal in 1.4.x does not call startLogging() any more. But it still calls closeLogging() ?!
Patch for 1.4 (git head) attached
1.4 commit [66e4ab]
1.3 commit [b6344b]
Related
Commit: [66e4ab]
Commit: [b6344b]
Last edit: Chris Buccella 2013-09-18