summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2013-07-16 10:25:00 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-16 16:28:11 +0200
commit4315f270e6d553f0c6537617b8efff8988f1f083 (patch)
tree4b8bff63d0ae85cd554cde57283dc363c323e073 /src
parentaab50ad061dfaff7a0a30a4164163fdd41571270 (diff)
Fix compilation of QLockFile on Solaris
flock isn't available but we use fcnlt already (which is the recommended alternative on Solaris) Change-Id: I718e59c4804950a26eeb610888e17ce666522dcc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/io/qlockfile_unix.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/io/qlockfile_unix.cpp b/src/corelib/io/qlockfile_unix.cpp
index db81d65565..1676b71133 100644
--- a/src/corelib/io/qlockfile_unix.cpp
+++ b/src/corelib/io/qlockfile_unix.cpp
@@ -86,8 +86,10 @@ int QLockFilePrivate::checkFcntlWorksAfterFlock()
if (!file.open())
return 0;
const int fd = file.d_func()->engine()->handle();
+#if defined(LOCK_EX) && defined(LOCK_NB)
if (flock(fd, LOCK_EX | LOCK_NB) == -1) // other threads, and other processes on a local fs
return 0;
+#endif
struct flock flockData;
flockData.l_type = F_WRLCK;
flockData.l_whence = SEEK_SET;
@@ -121,8 +123,10 @@ static bool fcntlWorksAfterFlock()
static bool setNativeLocks(int fd)
{
+#if defined(LOCK_EX) && defined(LOCK_NB)
if (flock(fd, LOCK_EX | LOCK_NB) == -1) // other threads, and other processes on a local fs
return false;
+#endif
struct flock flockData;
flockData.l_type = F_WRLCK;
flockData.l_whence = SEEK_SET;