Mercurial > dovecot > original-hg > dovecot-1.2
changeset 2246:f16e174e1c24 HEAD
don't close dotlock fd if it's given as -1
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 28 Jun 2004 19:44:38 +0300 |
parents | 95fe82bbda7a |
children | 2d51bb58a070 |
files | src/lib/file-dotlock.c src/lib/file-dotlock.h |
diffstat | 2 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/file-dotlock.c Mon Jun 28 19:13:59 2004 +0300 +++ b/src/lib/file-dotlock.c Mon Jun 28 19:44:38 2004 +0300 @@ -487,9 +487,11 @@ return -1; } } - if (close(fd) < 0) { - i_error("close(%s) failed: %m", lock_path); - return -1; + if (fd != -1) { + if (close(fd) < 0) { + i_error("close(%s) failed: %m", lock_path); + return -1; + } } if (verify_owner) {
--- a/src/lib/file-dotlock.h Mon Jun 28 19:13:59 2004 +0300 +++ b/src/lib/file-dotlock.h Mon Jun 28 19:44:38 2004 +0300 @@ -47,8 +47,9 @@ int (*callback)(unsigned int secs_left, int stale, void *context), void *context); -/* Replaces path with path.lock file. Closes given fd. If verify_owner is TRUE, - it checks that lock file hasn't been overwritten before renaming. */ +/* Replaces path with path.lock file. If verify_owner is TRUE, it checks that + lock file hasn't been overwritten before renaming. Closes given fd, unless + it's given as -1 in which case verify_owner must be FALSE. */ int file_dotlock_replace(const char *path, const char *lock_suffix, int fd, int verify_owner); /* Like file_unlock_dotlock(). Closes given fd. */