mirror of
https://github.com/matrix-construct/construct
synced 2024-11-25 16:22:35 +01:00
ircd: Add plain string terminate.
This commit is contained in:
parent
82a7d736d1
commit
2e7f272570
3 changed files with 31 additions and 5 deletions
|
@ -116,6 +116,7 @@ struct ircd::terminate
|
||||||
{
|
{
|
||||||
[[noreturn]] terminate(const std::exception &) noexcept;
|
[[noreturn]] terminate(const std::exception &) noexcept;
|
||||||
[[noreturn]] terminate(std::exception_ptr) noexcept;
|
[[noreturn]] terminate(std::exception_ptr) noexcept;
|
||||||
|
[[noreturn]] terminate(const string_view &) noexcept;
|
||||||
[[noreturn]] terminate() noexcept;
|
[[noreturn]] terminate() noexcept;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
25
ircd/db.cc
25
ircd/db.cc
|
@ -2592,7 +2592,10 @@ __attribute__((noreturn))
|
||||||
ircd::db::database::stats::passthru::Reset()
|
ircd::db::database::stats::passthru::Reset()
|
||||||
noexcept
|
noexcept
|
||||||
{
|
{
|
||||||
throw panic {"Unavailable for passthru"};
|
ircd::terminate
|
||||||
|
{
|
||||||
|
"Unavailable for passthru"
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -2629,7 +2632,10 @@ __attribute__((noreturn))
|
||||||
ircd::db::database::stats::passthru::getTickerCount(const uint32_t tickerType)
|
ircd::db::database::stats::passthru::getTickerCount(const uint32_t tickerType)
|
||||||
const noexcept
|
const noexcept
|
||||||
{
|
{
|
||||||
throw panic {"Unavailable for passthru"};
|
ircd::terminate
|
||||||
|
{
|
||||||
|
"Unavailable for passthru"
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -2638,7 +2644,10 @@ ircd::db::database::stats::passthru::setTickerCount(const uint32_t tickerType,
|
||||||
const uint64_t count)
|
const uint64_t count)
|
||||||
noexcept
|
noexcept
|
||||||
{
|
{
|
||||||
throw panic {"Unavailable for passthru"};
|
ircd::terminate
|
||||||
|
{
|
||||||
|
"Unavailable for passthru"
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -2647,7 +2656,10 @@ ircd::db::database::stats::passthru::histogramData(const uint32_t type,
|
||||||
rocksdb::HistogramData *const data)
|
rocksdb::HistogramData *const data)
|
||||||
const noexcept
|
const noexcept
|
||||||
{
|
{
|
||||||
throw panic {"Unavailable for passthru"};
|
ircd::terminate
|
||||||
|
{
|
||||||
|
"Unavailable for passthru"
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t
|
uint64_t
|
||||||
|
@ -2655,7 +2667,10 @@ __attribute__((noreturn))
|
||||||
ircd::db::database::stats::passthru::getAndResetTickerCount(const uint32_t tickerType)
|
ircd::db::database::stats::passthru::getAndResetTickerCount(const uint32_t tickerType)
|
||||||
noexcept
|
noexcept
|
||||||
{
|
{
|
||||||
throw panic {"Unavailable for passthru"};
|
ircd::terminate
|
||||||
|
{
|
||||||
|
"Unavailable for passthru"
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -285,6 +285,16 @@ noexcept
|
||||||
terminate(std::current_exception());
|
terminate(std::current_exception());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ircd::terminate::terminate(const string_view &str)
|
||||||
|
noexcept
|
||||||
|
{
|
||||||
|
static char buf[512];
|
||||||
|
strlcpy(buf, str);
|
||||||
|
fprintf(stderr, "\nIRCd Terminated :%s\n", buf);
|
||||||
|
::fflush(stderr);
|
||||||
|
std::terminate();
|
||||||
|
}
|
||||||
|
|
||||||
ircd::terminate::terminate(std::exception_ptr eptr)
|
ircd::terminate::terminate(std::exception_ptr eptr)
|
||||||
noexcept
|
noexcept
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue