[PATCH] dix: be more verbose when we run out of opcodes

Paulo Ricardo Zanoni pzanoni at mandriva.com
Fri Mar 12 05:07:32 PST 2010


If we run out of opcodes, nothing is print on the log, making the
problem hard to debug. In the current Xserver, if you enable some
extensions like multibuffer (+2 events) and use nvidia binary driver (+5
events) you can run out of opcode numbers.

Signed-off-by: Paulo Ricardo Zanoni <pzanoni at mandriva.com>
---
 dix/extension.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dix/extension.c b/dix/extension.c
index fb83af1..30dc313 100644
--- a/dix/extension.c
+++ b/dix/extension.c
@@ -83,8 +83,11 @@ AddExtension(char *name, int NumEvents, int NumErrors,
     if (!MainProc || !SwappedMainProc || !MinorOpcodeProc)
         return((ExtensionEntry *) NULL);
     if ((lastEvent + NumEvents > LAST_EVENT) || 
-	        (unsigned)(lastError + NumErrors > LAST_ERROR))
+	        (unsigned)(lastError + NumErrors > LAST_ERROR)) {
+	LogMessage(X_ERROR, "Not enabling extension %s: maximum number of "
+		   "requests or replies exceeded.\n", name);
         return((ExtensionEntry *) NULL);
+    }
 
     ext = xalloc(sizeof(ExtensionEntry));
     if (!ext)
-- 
1.6.4.4



More information about the xorg-devel mailing list