summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qfilesystemwatcher_kqueue.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2017-07-17 13:50:36 -0700
committerThiago Macieira <thiago.macieira@intel.com>2017-07-21 15:52:42 +0000
commitd819d6864a52d78cb86be3f2d3250a2c51835aeb (patch)
tree9f189a995ee1aaa60c5aa0b47f15a5ad3de110d7 /src/corelib/io/qfilesystemwatcher_kqueue.cpp
parente70258a155e5dbc0429ff75bcc857d188b60dbfd (diff)
QFileSystemWatcher/kqueue: make the fd duplication + FD_CLOEXEC atomic
The original fd was already FD_CLOEXEC due to qt_safe_open. Change-Id: Ief61d358e2b54a0fac37fffd14d2394ee02da059 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'src/corelib/io/qfilesystemwatcher_kqueue.cpp')
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/corelib/io/qfilesystemwatcher_kqueue.cpp b/src/corelib/io/qfilesystemwatcher_kqueue.cpp
index 4f6c83ebcf..c33fba2d1f 100644
--- a/src/corelib/io/qfilesystemwatcher_kqueue.cpp
+++ b/src/corelib/io/qfilesystemwatcher_kqueue.cpp
@@ -111,13 +111,12 @@ QStringList QKqueueFileSystemWatcherEngine::addPaths(const QStringList &paths,
continue;
}
if (fd >= (int)FD_SETSIZE / 2 && fd < (int)FD_SETSIZE) {
- int fddup = fcntl(fd, F_DUPFD, FD_SETSIZE);
+ int fddup = qt_safe_dup(fd, FD_SETSIZE);
if (fddup != -1) {
::close(fd);
fd = fddup;
}
}
- fcntl(fd, F_SETFD, FD_CLOEXEC);
QT_STATBUF st;
if (QT_FSTAT(fd, &st) == -1) {