X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fflock.c;h=8f018e50c97253139749f7a79db8e5c9281a1993;hb=d4d84c1d916f5bff3bb72be92e9d1383a25077c1;hp=5aa7690bd8732286a86531ca56aecb3abb04cb83;hpb=e69247d77e183da8d4d1d20e8993933aa420cbca;p=gnulib.git diff --git a/lib/flock.c b/lib/flock.c index 5aa7690bd..8f018e50c 100644 --- a/lib/flock.c +++ b/lib/flock.c @@ -6,7 +6,7 @@ Written by Richard W.M. Jones - Copyright (C) 2008 Free Software Foundation, Inc. + Copyright (C) 2008-2011 Free Software Foundation, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -18,7 +18,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - You should have received a copy of the GNU General Public License + You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ #include @@ -27,13 +27,13 @@ #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* _get_osfhandle */ -#include +# include /* LockFileEx */ -#define WIN32_LEAN_AND_MEAN -#include +# define WIN32_LEAN_AND_MEAN +# include -#include +# include /* Determine the current size of a file. Because the other braindead * APIs we'll call need lower/upper 32 bit pairs, keep the file size @@ -47,9 +47,9 @@ file_size (HANDLE h, DWORD * lower, DWORD * upper) } /* LOCKFILE_FAIL_IMMEDIATELY is undefined on some Windows systems. */ -#ifndef LOCKFILE_FAIL_IMMEDIATELY -# define LOCKFILE_FAIL_IMMEDIATELY 1 -#endif +# ifndef LOCKFILE_FAIL_IMMEDIATELY +# define LOCKFILE_FAIL_IMMEDIATELY 1 +# endif /* Acquire a lock. */ static BOOL @@ -130,27 +130,27 @@ flock (int fd, int operation) { DWORD err = GetLastError (); switch (err) - { - /* This means someone else is holding a lock. */ - case ERROR_LOCK_VIOLATION: - errno = EAGAIN; - break; - - /* Out of memory. */ - case ERROR_NOT_ENOUGH_MEMORY: - errno = ENOMEM; - break; - - case ERROR_BAD_COMMAND: - errno = EINVAL; - break; - - /* Unlikely to be other errors, but at least don't lose the - * error code. - */ - default: - errno = err; - } + { + /* This means someone else is holding a lock. */ + case ERROR_LOCK_VIOLATION: + errno = EAGAIN; + break; + + /* Out of memory. */ + case ERROR_NOT_ENOUGH_MEMORY: + errno = ENOMEM; + break; + + case ERROR_BAD_COMMAND: + errno = EINVAL; + break; + + /* Unlikely to be other errors, but at least don't lose the + * error code. + */ + default: + errno = err; + } return -1; } @@ -160,16 +160,17 @@ flock (int fd, int operation) #else /* !Windows */ -#ifdef HAVE_FLOCK_L_TYPE +# ifdef HAVE_STRUCT_FLOCK_L_TYPE /* We know how to implement flock in terms of fcntl. */ -#ifdef HAVE_FCNTL_H -#include -#endif +# include -#ifdef HAVE_UNISTD_H -#include -#endif +# ifdef HAVE_UNISTD_H +# include +# endif + +# include +# include int flock (int fd, int operation) @@ -210,10 +211,10 @@ flock (int fd, int operation) return r; } -#else /* !HAVE_FLOCK_L_TYPE */ +# else /* !HAVE_STRUCT_FLOCK_L_TYPE */ -#error "This platform lacks flock function, and Gnulib doesn't provide a replacement. This is a bug in Gnulib." +# error "This platform lacks flock function, and Gnulib doesn't provide a replacement. This is a bug in Gnulib." -#endif /* !HAVE_FLOCK_L_TYPE */ +# endif /* !HAVE_STRUCT_FLOCK_L_TYPE */ #endif /* !Windows */