On Wed, Apr 11, 2007 at 01:46:26PM +0200, Andre Poenitz wrote: > On Tue, Apr 10, 2007 at 03:08:12PM +0000, Enrico Forestieri wrote: > > Yu, James writes: > > > Abdelrazak Younes wrote: > > > > The solution is "just" to replace our handmade socket (or pipe) layer > > > > with a portable one. > > > > > > > > It should not be very hard to implement even for a newcomer in the LyX > > > > project. If someone's interested, come&see us at the devel list > > > > > > > > Another solution for you James is to use Enrico's mixed windows/cygwin > > > > version. Could you confirm that it works Enrico? > > > > Yes, but if you want that functionality from a native Windows app you > > have to use a workaround. See below. > > > > > If I was not wrong, it did not work in cygwin! > > > > It works if you use cygwin apps. Native windows apps know nothing about > > named pipes. However, there's a workaround. Windows provides file change > > notifications, so you can tell a native app to use a given file as the > > lyxpipe. Then you monitor such file with a small program, and when the app > > writes to the file you receive a notification. So you simply copy what was > > written to the file to the real lyxpipe using a cygwin program (a bash > > script, for example). > > > > I wrote such "watcher" utility by modifying the example provided at > > http://www.relisoft.com/win32/watcher.html > > There's QFileSystemWatcher.
That's for Qt 4.2 or higher, I think. I wonder how do they accomplish that on *nix as, if I remember correctly, select() doesn't work on plain files. Maybe they use something similar to fam on linux, but on solaris, for example? -- Enrico