diff options
Diffstat (limited to 'absl/base/internal/raw_logging.h')
-rw-r--r-- | absl/base/internal/raw_logging.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/absl/base/internal/raw_logging.h b/absl/base/internal/raw_logging.h index 1b2a44b7..a2b7207a 100644 --- a/absl/base/internal/raw_logging.h +++ b/absl/base/internal/raw_logging.h @@ -74,6 +74,13 @@ namespace raw_logging_internal { void RawLog(absl::LogSeverity severity, const char* file, int line, const char* format, ...) ABSL_PRINTF_ATTRIBUTE(4, 5); +// Writes the provided buffer directly to stderr, in a safe, low-level manner. +// +// In POSIX this means calling write(), which is async-signal safe and does +// not malloc. If the platform supports the SYS_write syscall, we invoke that +// directly to side-step any libc interception. +void SafeWriteToStderr(const char *s, size_t len); + // compile-time function to get the "base" filename, that is, the part of // a filename after the last "/" or "\" path separator. The search starts at // the end of the std::string; the second parameter is the length of the std::string. |