lib/repo: Allow disabling lock timeout
authorMatthew Leeds <matthew.leeds@endlessm.com>
Fri, 28 Sep 2018 01:07:51 +0000 (18:07 -0700)
committerAtomic Bot <atomic-devel@projectatomic.io>
Fri, 28 Sep 2018 15:49:11 +0000 (15:49 +0000)
Currently the locking code checks if the value -1 was set for the config
key "lock-timeout-secs" and if so, a thread trying to acquire a lock
will block indefinitely. Positive values specify how long to attempt to
acquire a lock in a non-blocking way (the attempt is made once every
second). But when the value is read from the config file,
g_ascii_strtoull() is used, which converts it to an unsigned integer.
This commit makes libostree use g_ascii_strtoll() instead, so that it's
possible to set that key to -1 as intended.

Closes: #1737
Approved by: jlebon

src/libostree/ostree-repo.c

index 5c8f0b6f12eba9d5da4129260468783fdb20d2fd..19f715aa6a4361603b3f7c68e2e7daeff57f8eb9 100644 (file)
@@ -2832,7 +2832,7 @@ reload_core_config (OstreeRepo          *self,
                                                 &lock_timeout_seconds, error))
           return FALSE;
 
-        self->lock_timeout_seconds = g_ascii_strtoull (lock_timeout_seconds, NULL, 10);
+        self->lock_timeout_seconds = g_ascii_strtoll (lock_timeout_seconds, NULL, 10);
       }
   }