On Friday 13 February 2015 15:04:56 Simon Matthews wrote: > However, I have now come across another missing definition: O_CLOEXEC.
Another case of a kernel too old. O_CLOEXEC was introduced in 2.6.23 (2007). However, I thought I had all cases protected by #ifdef. > On later platforms, this is defined in glibc-headers and linux-headers. > Specifically, the files: > /usr/include/asm-generic/fcntl.h and /usr/include/asm-generic/fcntl.h > The definition is used in > qtwebkit/Source/WebKit2/Platform/unix/SharedMemoryUnix.cpp: > do { > fileDescriptor = shm_open(tempName.data(), O_CREAT | O_CLOEXEC > | O_RDWR, S_IRUSR | S_IWUSR); } while (fileDescriptor == -1 && errno == > EINTR); Ah, WebKit, so not my code. > > Can I safely comment change the line to the following: > fileDescriptor = shm_open(tempName.data(), O_CREAT | O_RDWR, S_IRUSR | > S_IWUSR); Yes, but then shm_open will not be thread-safe. Your kernel is too old anyway to be thread-safe, so there's nothing you can do. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest