summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-07-30 19:45:01 +0000
committerRichard M. Stallman <rms@gnu.org>1997-07-30 19:45:01 +0000
commit9a9ab4a2757cd0290889be7bce1de7d238b42ebc (patch)
tree76c6bb489fa8f7d0b1d7e5a985d42a5c1abdcc60
parent6a343d1d98e19f81e5699ce3482bda97a0cfe31b (diff)
downloademacs-9a9ab4a2757cd0290889be7bce1de7d238b42ebc.tar.gz
(lock_if_free): Don't loop; for strange error, return -1.
-rw-r--r--src/filelock.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/filelock.c b/src/filelock.c
index 5000f87a615..b79bccc65a5 100644
--- a/src/filelock.c
+++ b/src/filelock.c
@@ -278,7 +278,7 @@ lock_if_free (clasher, lfname)
lock_info_type *clasher;
register char *lfname;
{
- while (lock_file_1 (lfname, 0) == 0)
+ if (lock_file_1 (lfname, 0) == 0)
{
int locker;
@@ -293,11 +293,8 @@ lock_if_free (clasher, lfname)
}
else if (locker == 1)
return 1; /* Someone else has it. */
- else if (locker == -1)
- return -1; /* Something's wrong. */
- /* If some other error, or no such lock, try to lock again. */
- /* Is there a case where we loop forever? */
+ return -1; /* Something's wrong. */
}
return 0;
}