Thanks for the suggestions. Unfortunately I do need to use Qt 4.6.2 from RHEL 6. This will also be on an NFS mounted drive.
This is for a GUI that monitors the output of jobs run on Sun Grid Engine (SGE). So its not that the files _happen_ to be on NFS, it's actually _required_ that they are :-( Any Qt4 help would be appreciated. Am I cleaning up my tail processes correctly? Is it just the QThreads I'm screwing up? Are there other hidden dangers with my implementation? On Jun 24, 2013 7:25 PM, "John Lee" <j...@pobox.com> wrote: > On Mon, 24 Jun 2013, Eric Frederich wrote: > > I'm trying to tail several files graphically. >> I have been trying to find a way to tail several files in a GUI >> without much luck at all. >> I get errors from tail saying broken pipe. >> I get PyQt errors saying underlying C++ objects have been destroyed. >> I get other Qt errors saying that threads are still running when the >> application exits >> etc.... >> >> The implementation posted below seems to suffer from the following errors. >> Not all the time. It depends. >> >> QThread: Destroyed while thread is still running >> QWaitCondition::wakeAll(): mutex lock failure: >> > > You're not calling .wait on the threads, and you probably want to give > e.g. your QObjects a parent where you can, so that Qt manages the lifetime > of the wrapped C++ objects (e.g. pass in self to the parent arg of the > QTextBrowser constructor). > > But, I recommend doing it a different way: I find event-based code easier > to think about than threads. So, if you can use Qt5, you might want to do > away with the threads and the tail subprocess and replace them with > QFileSystemWatcher. Use event-based code instead of the threads (I'm not > talking about Qt events, I just mean hook up to the signals that that class > emits and process a little input at a time so as to avoid blocking the UI, > using QTimer where needed). I say Qt5 because Qt4 isn't very friendly to > this way of working since it uses threads in the implementation of > QFileSystemWatcher. > > Caveat: QFileSystemWatcher still has its problems, but the ones discussed > at the URL below are more convenience issues than fundamental problems: I > just found I had to experiment a bit to see when the different signals got > emitted. > > http://blog.rburchell.com/**2012/03/qt-51-aka-when-** > qfilesystemwatcher-might.html<http://blog.rburchell.com/2012/03/qt-51-aka-when-qfilesystemwatcher-might.html> > > Caveat #2: I imagine QFileSystemWatcher does not support filesystems like > NFS, at least on Linux kernels with inotify support (but don't take my word > for it, check the source). > > > John > ______________________________**_________________ > PyQt mailing list PyQt@riverbankcomputing.com > http://www.riverbankcomputing.**com/mailman/listinfo/pyqt<http://www.riverbankcomputing.com/mailman/listinfo/pyqt> >
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt