--- common/common.h.orig 2009-02-03 19:54:32.000000000 +0500 +++ common/common.h 2009-02-03 19:55:09.000000000 +0500 @@ -205,7 +205,12 @@ { do { - lockFd=open(getLockName(), O_WRONLY | O_CREAT | O_EXCL); +#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 3 || (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ > 2))) + lockFd=open(getLockName(), O_WRONLY | O_CREAT | O_EXCL, 0777); +#else + lockFd=open(getLockName(), O_WRONLY | O_CREAT | O_EXCL); +#endif + if (lockFd<0 && errno==EEXIST) { /* Hmm, lock file already exists. Is it stale? */