From: Wayne Davison Date: Tue, 18 Sep 2007 14:11:25 +0000 (+0000) Subject: One final tweak. X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/236df01b15447f5c72b15c2d45496e2ec73cf951 One final tweak. --- diff --git a/connection.c b/connection.c index beb1dec6..5e37fe24 100644 --- a/connection.c +++ b/connection.c @@ -26,19 +26,20 @@ int claim_connection(char *fname, int max_connections) { int fd, i; - if (max_connections > 0) { - if ((fd = open(fname, O_RDWR|O_CREAT, 0600)) < 0) - return 0; + if (max_connections <= 0) + return 1; - /* Find a free spot. */ - for (i = 0; i < max_connections; i++) { - if (lock_range(fd, i*4, 4)) - return 1; - } + if ((fd = open(fname, O_RDWR|O_CREAT, 0600)) < 0) + return 0; - close(fd); + /* Find a free spot. */ + for (i = 0; i < max_connections; i++) { + if (lock_range(fd, i*4, 4)) + return 1; } + close(fd); + /* A lock failure needs to return an errno of 0. */ errno = 0; return 0;