You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by wr...@apache.org on 2002/01/05 09:02:39 UTC
cvs commit: apr/file_io/win32 flock.c
wrowe 02/01/05 00:02:39
Modified: file_io/win32 flock.c
Log:
Tighter localization of some variables... found experimenting in other
bits of the server [looking at shmem locks a while back.]
Revision Changes Path
1.8 +6 -6 apr/file_io/win32/flock.c
Index: flock.c
===================================================================
RCS file: /home/cvs/apr/file_io/win32/flock.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- flock.c 28 Dec 2001 23:50:48 -0000 1.7
+++ flock.c 5 Jan 2002 08:02:39 -0000 1.8
@@ -56,13 +56,12 @@
APR_DECLARE(apr_status_t) apr_file_lock(apr_file_t *thefile, int type)
{
- OVERLAPPED offset;
- DWORD flags, len = 0xffffffff;
+ const DWORD len = 0xffffffff;
+ DWORD flags;
flags = ((type & APR_FLOCK_NONBLOCK) ? LOCKFILE_FAIL_IMMEDIATELY : 0)
+ (((type & APR_FLOCK_TYPEMASK) == APR_FLOCK_SHARED)
? 0 : LOCKFILE_EXCLUSIVE_LOCK);
- memset (&offset, 0, sizeof(offset));
/* XXX on NT 4.0 we get ERROR_LOCK_VIOLATION when we specify
* LOCKFILE_FAIL_IMMEDIATELY and another process is holding
* the lock; something needs to be done so an APR app can
@@ -70,6 +69,8 @@
*/
if (apr_os_level >= APR_WIN_NT) {
/* Syntax is correct, len is passed for LengthLow and LengthHigh*/
+ OVERLAPPED offset;
+ memset (&offset, 0, sizeof(offset));
if (!LockFileEx(thefile->filehand, flags, 0, len, len, &offset))
return apr_get_os_error();
}
@@ -83,13 +84,12 @@
APR_DECLARE(apr_status_t) apr_file_unlock(apr_file_t *thefile)
{
- OVERLAPPED offset;
DWORD len = 0xffffffff;
- memset (&offset, 0, sizeof(offset));
-
if (apr_os_level >= APR_WIN_NT) {
/* Syntax is correct, len is passed for LengthLow and LengthHigh*/
+ OVERLAPPED offset;
+ memset (&offset, 0, sizeof(offset));
if (!UnlockFileEx(thefile->filehand, 0, len, len, &offset))
return apr_get_os_error();
}