One final tweak.
authorWayne Davison <wayned@samba.org>
Tue, 18 Sep 2007 14:11:25 +0000 (14:11 +0000)
committerWayne Davison <wayned@samba.org>
Tue, 18 Sep 2007 14:11:25 +0000 (14:11 +0000)
connection.c

index beb1dec..5e37fe2 100644 (file)
@@ -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;