(!1691) os: log: replace LogMessageVerbSigSafe() by LogMessageVerb()
Since LogMessageVerb() is now signal safe, we can use this one instead. Leaving LogMessageVerbSigSafe() macro for backwards compat with drivers. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
52de3c7fd2
commit
91b6453087
|
@ -805,7 +805,7 @@ glxDRILeaveVT(ScrnInfoPtr scrn)
|
|||
__GLXDRIscreen *screen = (__GLXDRIscreen *)
|
||||
glxGetScreen(xf86ScrnToScreen(scrn));
|
||||
|
||||
LogMessageVerbSigSafe(X_INFO, -1, "AIGLX: Suspending AIGLX clients for VT switch\n");
|
||||
LogMessageVerb(X_INFO, -1, "AIGLX: Suspending AIGLX clients for VT switch\n");
|
||||
|
||||
glxSuspendClients();
|
||||
|
||||
|
|
|
@ -126,7 +126,7 @@ notify_sync_finished(ClientPtr ptr, void *closure)
|
|||
already shut down and the descriptor is closed.
|
||||
*/
|
||||
if (write(fd, &response, response.header.length) != response.header.length) {
|
||||
LogMessageVerbSigSafe(X_ERROR, 0,
|
||||
LogMessageVerb(X_ERROR, 0,
|
||||
"inputtest: Failed to write sync response: %s\n",
|
||||
strerror(errno));
|
||||
}
|
||||
|
|
|
@ -141,7 +141,7 @@ LoaderSymbolFromModule(void *handle, const char *name)
|
|||
void
|
||||
LoaderUnload(const char *name, void *handle)
|
||||
{
|
||||
LogMessageVerbSigSafe(X_INFO, 1, "Unloading %s\n", name);
|
||||
LogMessageVerb(X_INFO, 1, "Unloading %s\n", name);
|
||||
if (handle)
|
||||
dlclose(handle);
|
||||
}
|
||||
|
|
|
@ -836,9 +836,9 @@ UnloadModule(void *_mod)
|
|||
const char *name = mod->VersionInfo->modname;
|
||||
|
||||
if (mod->parent)
|
||||
LogMessageVerbSigSafe(X_INFO, 3, "UnloadSubModule: \"%s\"\n", name);
|
||||
LogMessageVerb(X_INFO, 3, "UnloadSubModule: \"%s\"\n", name);
|
||||
else
|
||||
LogMessageVerbSigSafe(X_INFO, 3, "UnloadModule: \"%s\"\n", name);
|
||||
LogMessageVerb(X_INFO, 3, "UnloadModule: \"%s\"\n", name);
|
||||
|
||||
if (mod->TearDownData != ModuleDuplicated) {
|
||||
if ((mod->TearDownProc) && (mod->TearDownData))
|
||||
|
|
|
@ -345,9 +345,6 @@ _X_ATTRIBUTE_PRINTF(3, 4);
|
|||
extern _X_EXPORT void
|
||||
LogMessage(MessageType type, const char *format, ...)
|
||||
_X_ATTRIBUTE_PRINTF(2, 3);
|
||||
extern _X_EXPORT void
|
||||
LogMessageVerbSigSafe(MessageType type, int verb, const char *format, ...)
|
||||
_X_ATTRIBUTE_PRINTF(3, 4);
|
||||
|
||||
void
|
||||
LogVHdrMessageVerb(MessageType type, int verb,
|
||||
|
@ -393,5 +390,6 @@ typedef _sigset_t sigset_t;
|
|||
|
||||
/* should not be used anymore, just for backwards compat with drivers */
|
||||
#define LogVMessageVerbSigSafe(...) LogVMessageVerb(__VA_ARGS__)
|
||||
#define LogMessageVerbSigSafe(...) LogMessageVerb(__VA_ARGS__)
|
||||
|
||||
#endif /* OS_H */
|
||||
|
|
14
os/log.c
14
os/log.c
|
@ -325,7 +325,7 @@ LogClose(enum ExitCode error)
|
|||
{
|
||||
if (logFileFd != -1) {
|
||||
int msgtype = (error == EXIT_NO_ERROR) ? X_INFO : X_ERROR;
|
||||
LogMessageVerbSigSafe(msgtype, -1,
|
||||
LogMessageVerb(msgtype, -1,
|
||||
"Server terminated %s (%d). Closing log file.\n",
|
||||
(error == EXIT_NO_ERROR) ? "successfully" : "with error",
|
||||
error);
|
||||
|
@ -702,7 +702,7 @@ LogVMessageVerb(MessageType type, int verb, const char *format, va_list args)
|
|||
writeLog(verb, buf, len);
|
||||
}
|
||||
|
||||
/* Log message with verbosity level specified. */
|
||||
/* Log message with verbosity level specified. -- signal safe */
|
||||
void
|
||||
LogMessageVerb(MessageType type, int verb, const char *format, ...)
|
||||
{
|
||||
|
@ -724,16 +724,6 @@ LogMessage(MessageType type, const char *format, ...)
|
|||
va_end(ap);
|
||||
}
|
||||
|
||||
/* Log a message using only signal safe functions. */
|
||||
void
|
||||
LogMessageVerbSigSafe(MessageType type, int verb, const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, format);
|
||||
LogVMessageVerb(type, verb, format, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
void
|
||||
LogVHdrMessageVerb(MessageType type, int verb, const char *msg_format,
|
||||
va_list msg_args, const char *hdr_format, va_list hdr_args)
|
||||
|
|
|
@ -120,10 +120,8 @@ OsSigHandler(int signo)
|
|||
if (signo == SIGNAL_FOR_RTLD_ERROR) {
|
||||
const char *dlerr = dlerror();
|
||||
|
||||
if (dlerr) {
|
||||
LogMessageVerbSigSafe(X_ERROR, 1,
|
||||
"Dynamic loader error: %s\n", dlerr);
|
||||
}
|
||||
if (dlerr)
|
||||
LogMessageVerb(X_ERROR, 1, "Dynamic loader error: %s\n", dlerr);
|
||||
}
|
||||
#endif /* RTLD_DI_SETSIGNAL */
|
||||
|
||||
|
|
|
@ -203,59 +203,59 @@ static void logging_format(void)
|
|||
} while (0)
|
||||
|
||||
/* boring test message */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "test message\n");
|
||||
LogMessageVerb(X_ERROR, 1, "test message\n");
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, "(EE) test message\n") == 0);
|
||||
|
||||
/* long buf is truncated to "....en\n" */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, buf);
|
||||
LogMessageVerb(X_ERROR, 1, buf);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(&logmsg[strlen(logmsg) - 3], "en\n") == 0);
|
||||
|
||||
/* same thing, this time as string substitution */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%s", buf);
|
||||
LogMessageVerb(X_ERROR, 1, "%s", buf);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(&logmsg[strlen(logmsg) - 3], "en\n") == 0);
|
||||
|
||||
/* strings containing placeholders should just work */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%s\n", str);
|
||||
LogMessageVerb(X_ERROR, 1, "%s\n", str);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, "(EE) %s %d %u %% %p %i\n") == 0);
|
||||
|
||||
/* literal % */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "test %%\n");
|
||||
LogMessageVerb(X_ERROR, 1, "test %%\n");
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, "(EE) test %\n") == 0);
|
||||
|
||||
/* character */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "test %c\n", 'a');
|
||||
LogMessageVerb(X_ERROR, 1, "test %c\n", 'a');
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, "(EE) test a\n") == 0);
|
||||
|
||||
/* something unsupported % */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "test %Q\n");
|
||||
LogMessageVerb(X_ERROR, 1, "test %Q\n");
|
||||
read_log_msg(logmsg);
|
||||
assert(strstr(logmsg, "BUG") != NULL);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "\n");
|
||||
LogMessageVerb(X_ERROR, 1, "\n");
|
||||
fseek(f, 0, SEEK_END);
|
||||
|
||||
/* string substitution */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%s\n", "substituted string");
|
||||
LogMessageVerb(X_ERROR, 1, "%s\n", "substituted string");
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, "(EE) substituted string\n") == 0);
|
||||
|
||||
/* Invalid format */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%4", 4);
|
||||
LogMessageVerb(X_ERROR, 1, "%4", 4);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, "(EE) ") == 0);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "\n");
|
||||
LogMessageVerb(X_ERROR, 1, "\n");
|
||||
fseek(f, 0, SEEK_END);
|
||||
|
||||
/* %hld is bogus */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%hld\n", 4);
|
||||
LogMessageVerb(X_ERROR, 1, "%hld\n", 4);
|
||||
read_log_msg(logmsg);
|
||||
assert(strstr(logmsg, "BUG") != NULL);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "\n");
|
||||
LogMessageVerb(X_ERROR, 1, "\n");
|
||||
fseek(f, 0, SEEK_END);
|
||||
|
||||
/* number substitution */
|
||||
|
@ -263,12 +263,12 @@ static void logging_format(void)
|
|||
do {
|
||||
char expected[30];
|
||||
sprintf(expected, "(EE) %u\n", ui);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%u\n", ui);
|
||||
LogMessageVerb(X_ERROR, 1, "%u\n", ui);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
sprintf(expected, "(EE) %x\n", ui);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%x\n", ui);
|
||||
LogMessageVerb(X_ERROR, 1, "%x\n", ui);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
|
@ -282,21 +282,21 @@ static void logging_format(void)
|
|||
do {
|
||||
char expected[30];
|
||||
sprintf(expected, "(EE) %lu\n", lui);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%lu\n", lui);
|
||||
LogMessageVerb(X_ERROR, 1, "%lu\n", lui);
|
||||
read_log_msg(logmsg);
|
||||
|
||||
sprintf(expected, "(EE) %lld\n", (unsigned long long)ui);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%lld\n", (unsigned long long)ui);
|
||||
LogMessageVerb(X_ERROR, 1, "%lld\n", (unsigned long long)ui);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
sprintf(expected, "(EE) %lx\n", lui);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%lx\n", lui);
|
||||
LogMessageVerb(X_ERROR, 1, "%lx\n", lui);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
sprintf(expected, "(EE) %llx\n", (unsigned long long)ui);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%llx\n", (unsigned long long)ui);
|
||||
LogMessageVerb(X_ERROR, 1, "%llx\n", (unsigned long long)ui);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
|
@ -311,12 +311,12 @@ static void logging_format(void)
|
|||
do {
|
||||
char expected[30];
|
||||
sprintf(expected, "(EE) %d\n", i);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%d\n", i);
|
||||
LogMessageVerb(X_ERROR, 1, "%d\n", i);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
sprintf(expected, "(EE) %d\n", i | INT_MIN);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%d\n", i | INT_MIN);
|
||||
LogMessageVerb(X_ERROR, 1, "%d\n", i | INT_MIN);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
|
@ -330,22 +330,22 @@ static void logging_format(void)
|
|||
do {
|
||||
char expected[30];
|
||||
sprintf(expected, "(EE) %ld\n", li);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%ld\n", li);
|
||||
LogMessageVerb(X_ERROR, 1, "%ld\n", li);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
sprintf(expected, "(EE) %ld\n", li | LONG_MIN);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%ld\n", li | LONG_MIN);
|
||||
LogMessageVerb(X_ERROR, 1, "%ld\n", li | LONG_MIN);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
sprintf(expected, "(EE) %lld\n", (long long)li);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%lld\n", (long long)li);
|
||||
LogMessageVerb(X_ERROR, 1, "%lld\n", (long long)li);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
sprintf(expected, "(EE) %lld\n", (long long)(li | LONG_MIN));
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%lld\n", (long long)(li | LONG_MIN));
|
||||
LogMessageVerb(X_ERROR, 1, "%lld\n", (long long)(li | LONG_MIN));
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
|
@ -358,7 +358,7 @@ static void logging_format(void)
|
|||
|
||||
/* pointer substitution */
|
||||
/* we print a null-pointer differently to printf */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%p\n", NULL);
|
||||
LogMessageVerb(X_ERROR, 1, "%p\n", NULL);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, "(EE) 0x0\n") == 0);
|
||||
|
||||
|
@ -370,7 +370,7 @@ static void logging_format(void)
|
|||
#else
|
||||
sprintf(expected, "(EE) %p\n", (void*)ptr);
|
||||
#endif
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%p\n", (void*)ptr);
|
||||
LogMessageVerb(X_ERROR, 1, "%p\n", (void*)ptr);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
ptr <<= 1;
|
||||
|
@ -381,20 +381,20 @@ static void logging_format(void)
|
|||
double d = float_tests[i];
|
||||
char expected[30];
|
||||
sprintf(expected, "(EE) %.2f\n", d);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%f\n", d);
|
||||
LogMessageVerb(X_ERROR, 1, "%f\n", d);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
/* test for length modifiers, we just ignore them atm */
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%.3f\n", d);
|
||||
LogMessageVerb(X_ERROR, 1, "%.3f\n", d);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%3f\n", d);
|
||||
LogMessageVerb(X_ERROR, 1, "%3f\n", d);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "%.0f\n", d);
|
||||
LogMessageVerb(X_ERROR, 1, "%.0f\n", d);
|
||||
read_log_msg(logmsg);
|
||||
assert(strcmp(logmsg, expected) == 0);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue