From a95e0e73559349fbbcd97c183ffd481616cbfd5e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 11 Nov 2008 15:29:40 +0000 Subject: apply sebastian's fix for bug 859. Apparently on win32 one must lock at least one byte when locking, but locking a nonexistant byte is okay. ) svn:r17244 --- src/common/compat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/common/compat.c b/src/common/compat.c index b3d4361969..5a3858ef8a 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -508,7 +508,7 @@ tor_lockfile_lock(const char *filename, int blocking, int *locked_out) } #ifdef WIN32 _lseek(fd, 0, SEEK_SET); - if (_locking(fd, blocking ? _LK_LOCK : _LK_NBLCK, 0) < 0) { + if (_locking(fd, blocking ? _LK_LOCK : _LK_NBLCK, 1) < 0) { if (errno != EDEADLOCK) log_warn(LD_FS,"Couldn't lock \"%s\": %s", filename, strerror(errno)); else @@ -542,7 +542,7 @@ tor_lockfile_unlock(tor_lockfile_t *lockfile) log_info(LD_FS, "Unlocking \"%s\"", lockfile->filename); #ifdef WIN32 _lseek(lockfile->fd, 0, SEEK_SET); - if (_locking(lockfile->fd, _LK_UNLCK, 0) < 0) { + if (_locking(lockfile->fd, _LK_UNLCK, 1) < 0) { log_warn(LD_FS,"Error unlocking \"%s\": %s", lockfile->filename, strerror(errno)); } -- cgit v1.2.3-54-g00ecf