From 4315f270e6d553f0c6537617b8efff8988f1f083 Mon Sep 17 00:00:00 2001 From: David Faure Date: Tue, 16 Jul 2013 10:25:00 +0200 Subject: 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 --- src/corelib/io/qlockfile_unix.cpp | 4 ++++ 1 file changed, 4 insertions(+) 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; -- cgit v1.2.3