diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2017-07-17 13:50:36 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2017-07-21 15:52:42 +0000 |
commit | d819d6864a52d78cb86be3f2d3250a2c51835aeb (patch) | |
tree | 9f189a995ee1aaa60c5aa0b47f15a5ad3de110d7 | |
parent | e70258a155e5dbc0429ff75bcc857d188b60dbfd (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>
-rw-r--r-- | src/corelib/io/qfilesystemwatcher_kqueue.cpp | 3 |
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) { |