Neil Hodgson wrote: > Is there a complete version of this patch? Hi everybody,
I'm back from my holiday. As Steve mentionned, there is still the issue of 'dead pipes', pipes left by after a "crash" of SciTE. I had noticed a problem with those, I couldn't restart SciTE after having killed it, because of the single instance code. I thought that it was because it found a pipe, sent messages and terminated silently. However, I can't reproduce it now, and the situation I described is not possible: "A process can open a FIFO in non-blocking mode. In this case, opening for read only will succeed even if no-one has opened on the write side yet; opening for write only will fail with ENXIO (no such device or address) unless the other end has already been opened." (`man 7 fifo`) Maybe the previous SciTE instance had become a zombie-process, and was still reading from the pipe, I don't know. This means there is no real issue, AFAIK, with dead pipes. Is it a problem if they stay in the temporary folder? If we want to clean them up, rather than the solution proposed by Steve, "check [...] whether a particular pipe corresponds to an actual running version of SciTE by extracting the pid and calling kill(pid,0) to check if the pid is alive", I would make use of open() in non-blocking and write-only mode and if it fails we know we can remove the file, because no SciTE instance is reading from it. As for the last version of the patches, I'll resync them with the last CVS revision and upload them. The three patches are: 1) the new Director extension 2) the revised single instance code, making use of the director 3) the "focus:" message activation of the SciTE window when using check.if.already.open=1 There was some discussion about the last patch*, any new thoughts about that? Regards, Nicolas _______________________________________________ Scite-interest mailing list Scite-interest@lyra.org http://mailman.lyra.org/mailman/listinfo/scite-interest