```bash
fs.cpp: In member function ‘bool fsbridge::FileLock::TryLock()’:
fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Werror=missing-field-initializers]
  129 |     _OVERLAPPED overlapped = {0};
      |                                ^
fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Werror=missing-field-initializers]
fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Werror=missing-field-initializers]
```

https://github.com/bitcoin/bitcoin/pull/25972/checks?check_run_id=8137548993
{
    assert(base.is_absolute());
    return path.empty() ? base : fs::path(base / path);
}
#ifndef WIN32
static std::string GetErrorReason()
{
    return SysErrorString(errno);
}
FileLock::FileLock(const fs::path& file)
{
    fd = open(file.c_str(), O_RDWR);
    if (fd == -1) {
        reason = GetErrorReason();
    }
}
FileLock::~FileLock()
{
    if (fd != -1) {
        close(fd);
    }
}
static bool IsWSL()
{
    struct utsname uname_data;
    return uname(&uname_data) == 0 && std::string(uname_data.version).find("Microsoft") != std::string::npos;
}
bool FileLock::TryLock()