diff options
author | eldritch horrors <pennae@lix.systems> | 2024-03-18 14:52:04 +0100 |
---|---|---|
committer | eldritch horrors <pennae@lix.systems> | 2024-03-18 15:42:52 -0600 |
commit | f38ae92a38a66b597dbd6975219d6ddb4f52fa4f (patch) | |
tree | be6e1ed225e3d77a3c1fbcef1778169878326cbe /src/libstore/lock.cc | |
parent | 0f518f44e289114eb4828c8232bc0b79c7a85ac7 (diff) |
libutil: make AutoCloseFD a better resource
add a reset() method to close the wrapped fd instead of assigning magic
constants. also make the from-fd constructor explicit so you can't
accidentally assign the *wrong* magic constant, or even an unrelated
integer that also just happens to be an fd by pure chance.
Change-Id: I51311b0f6e040240886b5103d39d1794a6acc325
Diffstat (limited to 'src/libstore/lock.cc')
-rw-r--r-- | src/libstore/lock.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstore/lock.cc b/src/libstore/lock.cc index 165e4969f..80c75eaa5 100644 --- a/src/libstore/lock.cc +++ b/src/libstore/lock.cc @@ -76,7 +76,7 @@ struct SimpleUserLock : UserLock auto fnUserLock = fmt("%s/userpool/%s", settings.nixStateDir,pw->pw_uid); - AutoCloseFD fd = open(fnUserLock.c_str(), O_RDWR | O_CREAT | O_CLOEXEC, 0600); + AutoCloseFD fd{open(fnUserLock.c_str(), O_RDWR | O_CREAT | O_CLOEXEC, 0600)}; if (!fd) throw SysError("opening user lock '%s'", fnUserLock); @@ -148,7 +148,7 @@ struct AutoUserLock : UserLock auto fnUserLock = fmt("%s/userpool2/slot-%d", settings.nixStateDir, i); - AutoCloseFD fd = open(fnUserLock.c_str(), O_RDWR | O_CREAT | O_CLOEXEC, 0600); + AutoCloseFD fd{open(fnUserLock.c_str(), O_RDWR | O_CREAT | O_CLOEXEC, 0600)}; if (!fd) throw SysError("opening user lock '%s'", fnUserLock); |