os: log: replace ErrorFSigSafe() by ErrorF()
Since ErrorF() is now signal safe, we can use this one instead. Leaving ErrorFSigSafe() macro for backwards compat with drivers. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1691>
This commit is contained in:
parent
dd37cc4855
commit
2d18c353b4
|
@ -1965,8 +1965,8 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
|
|||
|
||||
ti = TouchFindByDDXID(dev, ddx_touchid, (type == XI_TouchBegin));
|
||||
if (!ti) {
|
||||
ErrorFSigSafe("[dix] %s: unable to %s touch point %u\n", dev->name,
|
||||
type == XI_TouchBegin ? "begin" : "find", ddx_touchid);
|
||||
ErrorF("[dix] %s: unable to %s touch point %u\n", dev->name,
|
||||
type == XI_TouchBegin ? "begin" : "find", ddx_touchid);
|
||||
return 0;
|
||||
}
|
||||
client_id = ti->client_id;
|
||||
|
@ -1999,16 +1999,14 @@ GetTouchEvents(InternalEvent *events, DeviceIntPtr dev, uint32_t ddx_touchid,
|
|||
if (!mask_in ||
|
||||
!valuator_mask_isset(mask_in, 0) ||
|
||||
!valuator_mask_isset(mask_in, 1)) {
|
||||
ErrorFSigSafe("%s: Attempted to start touch without x/y "
|
||||
"(driver bug)\n", dev->name);
|
||||
ErrorF("%s: Attempted to start touch without x/y (driver bug)\n", dev->name);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case XI_TouchUpdate:
|
||||
event->type = ET_TouchUpdate;
|
||||
if (!mask_in || valuator_mask_num_valuators(mask_in) <= 0) {
|
||||
ErrorFSigSafe("%s: TouchUpdate with no valuators? Driver bug\n",
|
||||
dev->name);
|
||||
ErrorF("%s: TouchUpdate with no valuators? Driver bug\n", dev->name);
|
||||
}
|
||||
break;
|
||||
case XI_TouchEnd:
|
||||
|
|
|
@ -78,7 +78,7 @@ DeletePredictableAccelerationProperties(DeviceIntPtr,
|
|||
/*#define PTRACCEL_DEBUGGING*/
|
||||
|
||||
#ifdef PTRACCEL_DEBUGGING
|
||||
#define DebugAccelF(...) ErrorFSigSafe("dix/ptraccel: " __VA_ARGS__)
|
||||
#define DebugAccelF(...) ErrorF("dix/ptraccel: " __VA_ARGS__)
|
||||
#else
|
||||
#define DebugAccelF(...) /* */
|
||||
#endif
|
||||
|
|
|
@ -857,12 +857,12 @@ ddxGiveUp(enum ExitCode error)
|
|||
void
|
||||
OsVendorFatalError(const char *f, va_list args)
|
||||
{
|
||||
ErrorFSigSafe("\nPlease consult the " XVENDORNAME " support \n\t at "
|
||||
__VENDORDWEBSUPPORT__ "\n for help. \n");
|
||||
ErrorF("\nPlease consult the " XVENDORNAME " support \n\t at "
|
||||
__VENDORDWEBSUPPORT__ "\n for help. \n");
|
||||
if (xf86LogFile && xf86LogFileWasOpened)
|
||||
ErrorFSigSafe("Please also check the log file at \"%s\" for additional "
|
||||
"information.\n", xf86LogFile);
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorF("Please also check the log file at \"%s\" for additional "
|
||||
"information.\n", xf86LogFile);
|
||||
ErrorF("\n");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -413,10 +413,10 @@ extern _X_EXPORT unsigned long serverGeneration;
|
|||
/* Don't use this directly, use BUG_WARN or BUG_WARN_MSG instead */
|
||||
#define __BUG_WARN_MSG(cond, with_msg, ...) \
|
||||
do { if (cond) { \
|
||||
ErrorFSigSafe("BUG: triggered 'if (" #cond ")'\n"); \
|
||||
ErrorFSigSafe("BUG: %s:%u in %s()\n", \
|
||||
__FILE__, __LINE__, __func__); \
|
||||
if (with_msg) ErrorFSigSafe(__VA_ARGS__); \
|
||||
ErrorF("BUG: triggered 'if (" #cond ")'\n"); \
|
||||
ErrorF("BUG: %s:%u in %s()\n", \
|
||||
__FILE__, __LINE__, __func__); \
|
||||
if (with_msg) ErrorF(__VA_ARGS__); \
|
||||
xorg_backtrace(); \
|
||||
} } while(0)
|
||||
|
||||
|
|
|
@ -398,9 +398,6 @@ 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
|
||||
|
@ -415,5 +412,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__)
|
||||
#define ErrorFSigSafe(...) ErrorF(__VA_ARGS__)
|
||||
|
||||
#endif /* OS_H */
|
||||
|
|
18
mi/mieq.c
18
mi/mieq.c
|
@ -227,22 +227,22 @@ mieqEnqueue(DeviceIntPtr pDev, InternalEvent *e)
|
|||
*/
|
||||
miEventQueue.dropped++;
|
||||
if (miEventQueue.dropped == 1) {
|
||||
ErrorFSigSafe("[mi] EQ overflowing. Additional events will be "
|
||||
"discarded until existing events are processed.\n");
|
||||
ErrorF("[mi] EQ overflowing. Additional events will be "
|
||||
"discarded until existing events are processed.\n");
|
||||
xorg_backtrace();
|
||||
ErrorFSigSafe("[mi] These backtraces from mieqEnqueue may point to "
|
||||
"a culprit higher up the stack.\n");
|
||||
ErrorFSigSafe("[mi] mieq is *NOT* the cause. It is a victim.\n");
|
||||
ErrorF("[mi] These backtraces from mieqEnqueue may point to "
|
||||
"a culprit higher up the stack.\n");
|
||||
ErrorF("[mi] mieq is *NOT* the cause. It is a victim.\n");
|
||||
}
|
||||
else if (miEventQueue.dropped % QUEUE_DROP_BACKTRACE_FREQUENCY == 0 &&
|
||||
miEventQueue.dropped / QUEUE_DROP_BACKTRACE_FREQUENCY <=
|
||||
QUEUE_DROP_BACKTRACE_MAX) {
|
||||
ErrorFSigSafe("[mi] EQ overflow continuing. %zu events have been "
|
||||
"dropped.\n", miEventQueue.dropped);
|
||||
ErrorF("[mi] EQ overflow continuing. %zu events have been "
|
||||
"dropped.\n", miEventQueue.dropped);
|
||||
if (miEventQueue.dropped / QUEUE_DROP_BACKTRACE_FREQUENCY ==
|
||||
QUEUE_DROP_BACKTRACE_MAX) {
|
||||
ErrorFSigSafe("[mi] No further overflow reports will be "
|
||||
"reported until the clog is cleared.\n");
|
||||
ErrorF("[mi] No further overflow reports will be "
|
||||
"reported until the clog is cleared.\n");
|
||||
}
|
||||
xorg_backtrace();
|
||||
}
|
||||
|
|
|
@ -82,21 +82,21 @@ print_registers(int frame, unw_cursor_t cursor)
|
|||
frame++;
|
||||
ret = unw_step(&cursor);
|
||||
if (ret < 0) {
|
||||
ErrorFSigSafe("unw_step failed: %s [%d]\n", unw_strerror(ret), ret);
|
||||
ErrorF("unw_step failed: %s [%d]\n", unw_strerror(ret), ret);
|
||||
return;
|
||||
}
|
||||
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorFSigSafe("Registers at frame #%d:\n", frame);
|
||||
ErrorF("\n");
|
||||
ErrorF("Registers at frame #%d:\n", frame);
|
||||
|
||||
for (i = 0; i < num_regs; i++) {
|
||||
uint64_t val;
|
||||
ret = unw_get_reg(&cursor, regs[i].regnum, &val);
|
||||
if (ret < 0) {
|
||||
ErrorFSigSafe("unw_get_reg(%s) failed: %s [%d]\n",
|
||||
ErrorF("unw_get_reg(%s) failed: %s [%d]\n",
|
||||
regs[i].name, unw_strerror(ret), ret);
|
||||
} else {
|
||||
ErrorFSigSafe(" %s: 0x%" PRIx64 "\n", regs[i].name, val);
|
||||
ErrorF(" %s: 0x%" PRIx64 "\n", regs[i].name, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -117,26 +117,23 @@ xorg_backtrace(void)
|
|||
pip.unwind_info = NULL;
|
||||
ret = unw_getcontext(&context);
|
||||
if (ret) {
|
||||
ErrorFSigSafe("unw_getcontext failed: %s [%d]\n", unw_strerror(ret),
|
||||
ret);
|
||||
ErrorF("unw_getcontext failed: %s [%d]\n", unw_strerror(ret), ret);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = unw_init_local(&cursor, &context);
|
||||
if (ret) {
|
||||
ErrorFSigSafe("unw_init_local failed: %s [%d]\n", unw_strerror(ret),
|
||||
ret);
|
||||
ErrorF("unw_init_local failed: %s [%d]\n", unw_strerror(ret), ret);
|
||||
return;
|
||||
}
|
||||
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorFSigSafe("Backtrace:\n");
|
||||
ErrorF("\n");
|
||||
ErrorF("Backtrace:\n");
|
||||
ret = unw_step(&cursor);
|
||||
while (ret > 0) {
|
||||
ret = unw_get_proc_info(&cursor, &pip);
|
||||
if (ret) {
|
||||
ErrorFSigSafe("unw_get_proc_info failed: %s [%d]\n",
|
||||
unw_strerror(ret), ret);
|
||||
ErrorF("unw_get_proc_info failed: %s [%d]\n", unw_strerror(ret), ret);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -144,8 +141,7 @@ xorg_backtrace(void)
|
|||
ret = unw_get_proc_name(&cursor, procname, 256, &off);
|
||||
if (ret && ret != -UNW_ENOMEM) {
|
||||
if (ret != -UNW_EUNSPEC)
|
||||
ErrorFSigSafe("unw_get_proc_name failed: %s [%d]\n",
|
||||
unw_strerror(ret), ret);
|
||||
ErrorF("unw_get_proc_name failed: %s [%d]\n", unw_strerror(ret), ret);
|
||||
procname[0] = '?';
|
||||
procname[1] = 0;
|
||||
}
|
||||
|
@ -163,22 +159,22 @@ xorg_backtrace(void)
|
|||
signal_cursor = cursor;
|
||||
signal_frame = i;
|
||||
|
||||
ErrorFSigSafe("%u: <signal handler called>\n", i++);
|
||||
ErrorF("%u: <signal handler called>\n", i++);
|
||||
} else {
|
||||
ErrorFSigSafe("%u: %s (%s%s+0x%x) [%p]\n", i++, filename, procname,
|
||||
ret == -UNW_ENOMEM ? "..." : "", (int)off,
|
||||
ErrorF("%u: %s (%s%s+0x%x) [%p]\n", i++, filename, procname,
|
||||
ret == -UNW_ENOMEM ? "..." : "", (int)off,
|
||||
(void *)(uintptr_t)(ip));
|
||||
}
|
||||
|
||||
ret = unw_step(&cursor);
|
||||
if (ret < 0)
|
||||
ErrorFSigSafe("unw_step failed: %s [%d]\n", unw_strerror(ret), ret);
|
||||
ErrorF("unw_step failed: %s [%d]\n", unw_strerror(ret), ret);
|
||||
}
|
||||
|
||||
if (signal_frame >= 0)
|
||||
print_registers(signal_frame, signal_cursor);
|
||||
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorF("\n");
|
||||
}
|
||||
#else /* HAVE_LIBUNWIND */
|
||||
#ifdef HAVE_BACKTRACE
|
||||
|
@ -197,19 +193,19 @@ xorg_backtrace(void)
|
|||
int size, i;
|
||||
Dl_info info;
|
||||
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorFSigSafe("Backtrace:\n");
|
||||
ErrorF("\n");
|
||||
ErrorF("Backtrace:\n");
|
||||
size = backtrace(array, BT_SIZE);
|
||||
for (i = 0; i < size; i++) {
|
||||
int rc = dladdr(array[i], &info);
|
||||
|
||||
if (rc == 0) {
|
||||
ErrorFSigSafe("%u: ?? [%p]\n", i, array[i]);
|
||||
ErrorF("%u: ?? [%p]\n", i, array[i]);
|
||||
continue;
|
||||
}
|
||||
mod = (info.dli_fname && *info.dli_fname) ? info.dli_fname : "(vdso)";
|
||||
if (info.dli_saddr)
|
||||
ErrorFSigSafe(
|
||||
ErrorF(
|
||||
"%u: %s (%s+0x%x) [%p]\n",
|
||||
i,
|
||||
mod,
|
||||
|
@ -218,7 +214,7 @@ xorg_backtrace(void)
|
|||
(char *) info.dli_saddr),
|
||||
array[i]);
|
||||
else
|
||||
ErrorFSigSafe(
|
||||
ErrorF(
|
||||
"%u: %s (%p+0x%x) [%p]\n",
|
||||
i,
|
||||
mod,
|
||||
|
@ -227,7 +223,7 @@ xorg_backtrace(void)
|
|||
(char *) info.dli_fbase),
|
||||
array[i]);
|
||||
}
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorF("\n");
|
||||
}
|
||||
|
||||
#else /* not glibc or glibc < 2.1 */
|
||||
|
@ -265,7 +261,7 @@ xorg_backtrace_frame(uintptr_t pc, int signo, void *arg)
|
|||
strcpy(signame, "unknown");
|
||||
}
|
||||
|
||||
ErrorFSigSafe("** Signal %u (%s)\n", signo, signame);
|
||||
ErrorF("** Signal %u (%s)\n", signo, signame);
|
||||
}
|
||||
|
||||
snprintf(header, sizeof(header), "%d: 0x%lx", depth, pc);
|
||||
|
@ -283,8 +279,7 @@ xorg_backtrace_frame(uintptr_t pc, int signo, void *arg)
|
|||
symname = "<section start>";
|
||||
offset = pc - (uintptr_t) dlinfo.dli_fbase;
|
||||
}
|
||||
ErrorFSigSafe("%s: %s:%s+0x%x\n", header, dlinfo.dli_fname, symname,
|
||||
offset);
|
||||
ErrorF("%s: %s:%s+0x%x\n", header, dlinfo.dli_fname, symname, offset);
|
||||
|
||||
}
|
||||
else {
|
||||
|
@ -292,7 +287,7 @@ xorg_backtrace_frame(uintptr_t pc, int signo, void *arg)
|
|||
* probably poke elfloader here, but haven't written that code yet,
|
||||
* so we just print the pc.
|
||||
*/
|
||||
ErrorFSigSafe("%s\n", header);
|
||||
ErrorF("%s\n", header);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -346,7 +341,7 @@ xorg_backtrace_pstack(void)
|
|||
|
||||
if (bytesread > 0) {
|
||||
btline[bytesread] = 0;
|
||||
ErrorFSigSafe("%s", btline);
|
||||
ErrorF("%s", btline);
|
||||
}
|
||||
else if ((bytesread < 0) || ((errno != EINTR) && (errno != EAGAIN)))
|
||||
done = 1;
|
||||
|
@ -366,8 +361,8 @@ void
|
|||
xorg_backtrace(void)
|
||||
{
|
||||
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorFSigSafe("Backtrace:\n");
|
||||
ErrorF("\n");
|
||||
ErrorF("Backtrace:\n");
|
||||
|
||||
#ifdef HAVE_PSTACK
|
||||
/* First try fork/exec of pstack - otherwise fall back to walkcontext
|
||||
|
@ -384,9 +379,9 @@ xorg_backtrace(void)
|
|||
walkcontext(&u, xorg_backtrace_frame, &depth);
|
||||
else
|
||||
#endif
|
||||
ErrorFSigSafe("Failed to get backtrace info: %s\n", strerror(errno));
|
||||
ErrorF("Failed to get backtrace info: %s\n", strerror(errno));
|
||||
}
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorF("\n");
|
||||
}
|
||||
|
||||
#else
|
||||
|
|
16
os/log.c
16
os/log.c
|
@ -875,9 +875,9 @@ FatalError(const char *f, ...)
|
|||
static Bool beenhere = FALSE;
|
||||
|
||||
if (beenhere)
|
||||
ErrorFSigSafe("\nFatalError re-entered, aborting\n");
|
||||
ErrorF("\nFatalError re-entered, aborting\n");
|
||||
else
|
||||
ErrorFSigSafe("\nFatal server error:\n");
|
||||
ErrorF("\nFatal server error:\n");
|
||||
|
||||
va_start(args, f);
|
||||
|
||||
|
@ -896,7 +896,7 @@ FatalError(const char *f, ...)
|
|||
#endif
|
||||
VErrorFSigSafe(f, args);
|
||||
va_end(args);
|
||||
ErrorFSigSafe("\n");
|
||||
ErrorF("\n");
|
||||
if (!beenhere)
|
||||
OsVendorFatalError(f, args2);
|
||||
va_end(args2);
|
||||
|
@ -933,16 +933,6 @@ VErrorFSigSafe(const char *f, va_list args)
|
|||
LogVMessageVerb(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)
|
||||
{
|
||||
|
|
|
@ -136,8 +136,8 @@ OsSigHandler(int signo)
|
|||
|
||||
#ifdef SA_SIGINFO
|
||||
if (sip->si_code == SI_USER) {
|
||||
ErrorFSigSafe("Received signal %u sent by process %u, uid %u\n", signo,
|
||||
sip->si_pid, sip->si_uid);
|
||||
ErrorF("Received signal %u sent by process %u, uid %u\n", signo,
|
||||
sip->si_pid, sip->si_uid);
|
||||
}
|
||||
else {
|
||||
switch (signo) {
|
||||
|
@ -145,7 +145,7 @@ OsSigHandler(int signo)
|
|||
case SIGBUS:
|
||||
case SIGILL:
|
||||
case SIGFPE:
|
||||
ErrorFSigSafe("%s at address %p\n", strsignal(signo), sip->si_addr);
|
||||
ErrorF("%s at address %p\n", strsignal(signo), sip->si_addr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue