mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-02-18 20:00:40 +01:00
Log safely in fatal signal handler
While we probably don't need to be signal safe here since we will never return to the normal context, the logging signal context check will cause unsafe logging to be unhandled. Using signal safe logging here resolves the issue. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
6fd5add005
commit
89e3ac07ac
1 changed files with 4 additions and 4 deletions
|
|
@ -113,7 +113,7 @@ OsSigHandler(int signo)
|
|||
const char *dlerr = dlerror();
|
||||
|
||||
if (dlerr) {
|
||||
LogMessage(X_ERROR, "Dynamic loader error: %s\n", dlerr);
|
||||
LogMessageVerbSigSafe(X_ERROR, 1, "Dynamic loader error: %s\n", dlerr);
|
||||
}
|
||||
#endif /* RTLD_DI_SETSIGNAL */
|
||||
|
||||
|
|
@ -129,8 +129,8 @@ OsSigHandler(int signo)
|
|||
|
||||
#ifdef SA_SIGINFO
|
||||
if (sip->si_code == SI_USER) {
|
||||
ErrorF("Recieved signal %d sent by process %ld, uid %ld\n",
|
||||
signo, (long) sip->si_pid, (long) sip->si_uid);
|
||||
ErrorFSigSafe("Recieved signal %u sent by process %u, uid %u\n", signo,
|
||||
sip->si_pid, sip->si_uid);
|
||||
}
|
||||
else {
|
||||
switch (signo) {
|
||||
|
|
@ -138,7 +138,7 @@ OsSigHandler(int signo)
|
|||
case SIGBUS:
|
||||
case SIGILL:
|
||||
case SIGFPE:
|
||||
ErrorF("%s at address %p\n", strsignal(signo), sip->si_addr);
|
||||
ErrorFSigSafe("%s at address %p\n", strsignal(signo), sip->si_addr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue