aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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)
278 lock_info_type *clasher; 278 lock_info_type *clasher;
279 register char *lfname; 279 register char *lfname;
280{ 280{
281 while (lock_file_1 (lfname, 0) == 0) 281 if (lock_file_1 (lfname, 0) == 0)
282 { 282 {
283 int locker; 283 int locker;
284 284
@@ -293,11 +293,8 @@ lock_if_free (clasher, lfname)
293 } 293 }
294 else if (locker == 1) 294 else if (locker == 1)
295 return 1; /* Someone else has it. */ 295 return 1; /* Someone else has it. */
296 else if (locker == -1)
297 return -1; /* Something's wrong. */
298 296
299 /* If some other error, or no such lock, try to lock again. */ 297 return -1; /* Something's wrong. */
300 /* Is there a case where we loop forever? */
301 } 298 }
302 return 0; 299 return 0;
303} 300}