Esempio n. 1
0
void
darwinEvents_unlock(void)
{
    int err;
    if ((err = pthread_mutex_unlock(&mieq_lock))) {
        ErrorF("%s:%s:%d: Failed to unlock mieq_lock: %d\n",
               __FILE__, __FUNCTION__, __LINE__, err);
        xorg_backtrace();
    }
}
Esempio n. 2
0
void
darwinEvents_lock(void)
{
    int err;
    if ((err = pthread_mutex_lock(&mieq_lock))) {
        ErrorF("%s:%s:%d: Failed to lock mieq_lock: %d\n",
               __FILE__, __FUNCTION__, __LINE__, err);
        xorg_backtrace();
    }
    if (darwinEvents == NULL) {
        pthread_cond_wait(&mieq_ready_cond, &mieq_lock);
    }
}
Esempio n. 3
0
OsSigHandler(int signo)
#endif
{
#ifdef RTLD_DI_SETSIGNAL
    const char *dlerr = dlerror();

    if (dlerr) {
        LogMessageVerbSigSafe(X_ERROR, 1, "Dynamic loader error: %s\n", dlerr);
    }
#endif                          /* RTLD_DI_SETSIGNAL */

    if (OsSigWrapper != NULL) {
        if (OsSigWrapper(signo) == 0) {
            /* ddx handled signal and wants us to continue */
            return;
        }
    }

    /* log, cleanup, and abort */
    xorg_backtrace();

#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);
    }
    else {
        switch (signo) {
        case SIGSEGV:
        case SIGBUS:
        case SIGILL:
        case SIGFPE:
            ErrorFSigSafe("%s at address %p\n", strsignal(signo), sip->si_addr);
        }
    }
#endif

    FatalError("Caught signal %d (%s). Server aborting\n",
               signo, strsignal(signo));
}
Esempio n. 4
0
/*
 * xf86PrintBacktrace --
 *    Print a stack backtrace for debugging purposes.
 */
void
xf86PrintBacktrace(void)
{
    xorg_backtrace();
}