Index: xc/programs/Xserver/os/log.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/os/log.c,v retrieving revision 1.2 diff -u -2 -0 -r1.2 log.c --- xc/programs/Xserver/os/log.c 30 Jun 2004 20:06:56 -0000 1.2 +++ xc/programs/Xserver/os/log.c 11 Aug 2004 04:11:41 -0000 @@ -386,41 +386,41 @@ #ifdef __GNUC__ void AbortServer(void) __attribute__((noreturn)); #endif void AbortServer(void) { OsCleanup(TRUE); AbortDDX(); fflush(stderr); if (CoreDump) abort(); exit (1); } #ifndef AUDIT_PREFIX #define AUDIT_PREFIX "AUDIT: %s: %ld %s: " #endif #ifndef AUDIT_TIMEOUT -#define AUDIT_TIMEOUT ((CARD32)(120 * 1000)) /* 2 mn */ +#define AUDIT_TIMEOUT ((CARD32)(120 * 1000)) /* 2mins(=120secs) */ #endif static int nrepeat = 0; static int oldlen = -1; static OsTimerPtr auditTimer = NULL; void FreeAuditTimer(void) { if (auditTimer != NULL) { /* Force output of pending messages */ TimerForce(auditTimer); TimerFree(auditTimer); auditTimer = NULL; } } static char * AuditPrefix(void) { @@ -470,53 +470,62 @@ free(prefix); return AUDIT_TIMEOUT; } else { /* if the timer expires without anything to print, flush the message */ oldlen = -1; return 0; } } void VAuditF(const char *f, va_list args) { char *prefix; char buf[1024]; int len; static char oldbuf[1024]; prefix = AuditPrefix(); len = vsnprintf(buf, sizeof(buf), f, args); +/* Disabled for now, see + * https://freedesktop.org/bugzilla/show_bug.cgi?id=964 for details */ +#define WORKAROUND_FOR_BUG_964 1 +#ifdef WORKAROUND_FOR_BUG_964 + ErrorF("%s%s", prefix != NULL ? prefix : "", buf); + oldlen = -1; + nrepeat = 0; +#else if (len == oldlen && strcmp(buf, oldbuf) == 0) { /* Message already seen */ nrepeat++; } else { /* new message */ if (auditTimer != NULL) TimerForce(auditTimer); ErrorF("%s%s", prefix != NULL ? prefix : "", buf); strlcpy(oldbuf, buf, sizeof(oldbuf)); oldlen = len; nrepeat = 0; auditTimer = TimerSet(auditTimer, 0, AUDIT_TIMEOUT, AuditFlush, NULL); } +#endif /* WORKAROUND_FOR_BUG_964 */ if (prefix != NULL) free(prefix); } void FatalError(const char *f, ...) { va_list args; static Bool beenhere = FALSE; if (beenhere) ErrorF("\nFatalError re-entered, aborting\n"); else ErrorF("\nFatal server error:\n"); va_start(args, f); VErrorF(f, args); va_end(args); ErrorF("\n"); #ifdef DDXOSFATALERROR