From: Chase Douglas <[email protected]> ErrorF() is not signal safe. Use ErrorSigSafe() whenever an error message may be logged in signal context.
[whot: edited to "ErrorFSigSafe"] Signed-off-by: Chase Douglas <[email protected]> Reviewed-by: Peter Hutterer <[email protected]> --- Changes to previous version: - ErrorFSigSafe, to be consistent with naming. include/os.h | 6 ++++++ os/log.c | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/include/os.h b/include/os.h index b3f9088..e93c48a 100644 --- a/include/os.h +++ b/include/os.h @@ -656,6 +656,12 @@ extern _X_EXPORT void ErrorF(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2); extern _X_EXPORT void +VErrorFSigSafe(const char *f, va_list args) +_X_ATTRIBUTE_PRINTF(1, 0); +extern _X_EXPORT void +ErrorFSigSafe(const char *f, ...) +_X_ATTRIBUTE_PRINTF(1, 2); +extern _X_EXPORT void LogPrintMarkers(void); extern _X_EXPORT void diff --git a/os/log.c b/os/log.c index a3c1305..6048246 100644 --- a/os/log.c +++ b/os/log.c @@ -771,6 +771,22 @@ ErrorF(const char *f, ...) } void +VErrorFSigSafe(const char *f, va_list args) +{ + LogVMessageVerbSigSafe(X_ERROR, -1, f, args); +} + +void +ErrorFSigSafe(const char *f, ...) +{ + va_list args; + + va_start(args, f); + VErrorFSigSafe(f, args); + va_end(args); +} + +void LogPrintMarkers(void) { /* Show what the message marker symbols mean. */ -- 1.7.10.2 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
