Skip to content

Commit

Permalink
[Minor] Improve log message
Browse files Browse the repository at this point in the history
  • Loading branch information
vstakhov committed Jul 28, 2023
1 parent b17a9e5 commit f188b1e
Showing 1 changed file with 11 additions and 12 deletions.
23 changes: 11 additions & 12 deletions src/libserver/hyperscan_tools.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,8 @@ auto load_cached_hs_file(const char *fname, std::int64_t offset = 0) -> tl::expe
}
else {
auto &tmpfile_checked = tmpfile.value();
// Store owned string
auto tmpfile_name = std::string{tmpfile_checked.get_name()};
std::size_t unserialized_size;

if (auto ret = hs_serialized_database_size(((const char *) cached_serialized.get_map()) + offset,
Expand All @@ -450,7 +452,7 @@ auto load_cached_hs_file(const char *fname, std::int64_t offset = 0) -> tl::expe
}

msg_debug_hyperscan_lambda("multipattern: create new database in %s; %Hz size",
tmpfile_pattern.data(), unserialized_size);
tmpfile_name.c_str(), unserialized_size);
void *buf;
#ifdef HAVE_GETPAGESIZE
auto page_size = getpagesize();
Expand All @@ -462,12 +464,10 @@ auto load_cached_hs_file(const char *fname, std::int64_t offset = 0) -> tl::expe
}
auto errcode = posix_memalign(&buf, page_size, unserialized_size);
if (errcode != 0 || buf == nullptr) {
return tl::make_unexpected(error{"Cannot allocate memory", errno, error_category::CRITICAL});
return tl::make_unexpected(error{"Cannot allocate memory",
errno, error_category::CRITICAL});
}

// Store owned string
auto tmpfile_name = std::string{tmpfile_checked.get_name()};

if (auto ret = hs_deserialize_database_at(((const char *) cached_serialized.get_map()) + offset,
cached_serialized.get_size() - offset, (hs_database_t *) buf);
ret != HS_SUCCESS) {
Expand All @@ -483,14 +483,13 @@ auto load_cached_hs_file(const char *fname, std::int64_t offset = 0) -> tl::expe
}
else {
free(buf);

/*
* Unlink target file before renaming to avoid
* race condition.
* So what we have is that `new_file_locked`
* will have flock on that file, so it will be
* replaced after unlink safely, and also unlocked.
*/
* Unlink target file before renaming to avoid
* race condition.
* So what we have is that `new_file_locked`
* will have flock on that file, so it will be
* replaced after unlink safely, and also unlocked.
*/
(void) unlink(unserialized_fname.c_str());
if (rename(tmpfile_name.c_str(),
unserialized_fname.c_str()) == -1) {
Expand Down

0 comments on commit f188b1e

Please sign in to comment.