summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/io.pri
diff options
context:
space:
mode:
authorNorwegian Rock Cat <qt-info@nokia.com>2009-07-09 09:51:13 (GMT)
committerNorwegian Rock Cat <qt-info@nokia.com>2009-07-23 15:17:02 (GMT)
commit098be4ffcf4c9ba615332f853fd440ea630a4453 (patch)
treee459998a0388289136820c5cc3a2564f01a368d8 /src/corelib/io/io.pri
parentf439550632c0552514f73d2778c7920811e225f7 (diff)
downloadQt-098be4ffcf4c9ba615332f853fd440ea630a4453.zip
Qt-098be4ffcf4c9ba615332f853fd440ea630a4453.tar.gz
Qt-098be4ffcf4c9ba615332f853fd440ea630a4453.tar.bz2
Implement an FSEvents-based QFileSystemWatcherEngine
This has been around for a while and really should have been put in earlier. Mac OS X (client) has a much lower ulimit for open files than what some other Unix-like OS's have (in defense it does save memory). However, if you start watching a lot of files, it will start to fall down. You can adjust the ulimit, but it's a bit inconvenient. FSEvents watches the directory and notifies you of changes that happen in that directory (and below, but we don't really use it). It also can be adjusted for latency so that performance isn't affected by heavy file system use (but Qt doesn't use that either at the moment). The other thing is that it doesn't require any open files, so it's much better for our number of open files. This feature is only on Leopard and up, so people wanting to deploy Tiger will still have the "open files" problem to deal with. There are still some optimizations available in this code. For example, we could coalesce things down to watch only one high-level directory without changing much of the implementation. The current implementation has some very simplistic ways of handling things, but this simplicity works well. I documented it, so you can see that, yes, I really meant to do that. Task-Id: 164068 (and others) Reviewed-by: Denis
Diffstat (limited to 'src/corelib/io/io.pri')
-rw-r--r--src/corelib/io/io.pri5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri
index 5033b21..bd41f5e 100644
--- a/src/corelib/io/io.pri
+++ b/src/corelib/io/io.pri
@@ -65,7 +65,10 @@ win32 {
SOURCES += io/qfsfileengine_unix.cpp
SOURCES += io/qfsfileengine_iterator_unix.cpp
SOURCES += io/qprocess_unix.cpp
- mac:SOURCES += io/qsettings_mac.cpp
+ macx-*: {
+ HEADERS += io/qfilesystemwatcher_fsevents_p.h
+ SOURCES += io/qsettings_mac.cpp io/qfilesystemwatcher_fsevents.cpp
+ }
linux-*:{
SOURCES += \