63 static constexpr int32_t ERROR_CODE = -1;
64 static constexpr int32_t INVALID_FD = -1;
65 static constexpr const char LOCK_FILE_SUFFIX[] =
".lock";
66 static constexpr uint64_t FILENAME_LENGTH = platform::IOX_MAX_FILENAME_LENGTH
67 -
sizeof(platform::IOX_LOCK_FILE_PATH_PREFIX) /
sizeof(
char)
68 -
sizeof(LOCK_FILE_SUFFIX) /
sizeof(
char);
73 FileLock(
const FileLock&) =
delete;
74 FileLock& operator=(
const FileLock&) =
delete;
75 FileLock(FileLock&& rhs)
noexcept;
76 FileLock& operator=(FileLock&& rhs)
noexcept;
81 int32_t m_fd{INVALID_FD};
83 PathName_t m_fileLockPath;
87 explicit FileLock(
const FileName_t& name)
noexcept;
89 void invalidate()
noexcept;
91 cxx::expected<FileLockError> initializeFileLock()
noexcept;
92 FileLockError convertErrnoToFileLockError(
const int32_t errnum)
const noexcept;
93 cxx::expected<FileLockError> closeFileDescriptor()
noexcept;