Update to xserver 1.11.4. tested by krw@, shadchin@.

This commit is contained in:
matthieu
2012-01-31 07:52:35 +00:00
parent 16bbf25500
commit 9576ef223d
30 changed files with 856 additions and 187 deletions

View File

@@ -337,8 +337,6 @@ DisableLimitedSchedulingLatency(void)
SmartScheduleLatencyLimited = 0;
}
#define MAJOROP ((xReq *)client->requestBuffer)->reqType
void
Dispatch(void)
{
@@ -419,22 +417,33 @@ Dispatch(void)
}
client->sequence++;
client->majorOp = ((xReq *)client->requestBuffer)->reqType;
client->minorOp = 0;
if (client->majorOp >= EXTENSION_BASE) {
ExtensionEntry *ext = GetExtensionEntry(client->majorOp);
if (ext)
client->minorOp = ext->MinorOpcode(client);
}
#ifdef XSERVER_DTRACE
XSERVER_REQUEST_START(LookupMajorName(MAJOROP), MAJOROP,
((xReq *)client->requestBuffer)->length,
client->index, client->requestBuffer);
if (XSERVER_REQUEST_START_ENABLED())
XSERVER_REQUEST_START(LookupMajorName(client->majorOp),
client->majorOp,
((xReq *)client->requestBuffer)->length,
client->index, client->requestBuffer);
#endif
if (result > (maxBigRequestSize << 2))
result = BadLength;
else {
result = XaceHookDispatch(client, MAJOROP);
result = XaceHookDispatch(client, client->majorOp);
if (result == Success)
result = (* client->requestVector[MAJOROP])(client);
result = (* client->requestVector[client->majorOp])(client);
XaceHookAuditEnd(client, result);
}
#ifdef XSERVER_DTRACE
XSERVER_REQUEST_DONE(LookupMajorName(MAJOROP), MAJOROP,
client->sequence, client->index, result);
if (XSERVER_REQUEST_DONE_ENABLED())
XSERVER_REQUEST_DONE(LookupMajorName(client->majorOp),
client->majorOp, client->sequence,
client->index, result);
#endif
if (client->noClientException != Success)
@@ -444,8 +453,8 @@ Dispatch(void)
}
else if (result != Success)
{
SendErrorToClient(client, MAJOROP,
MinorOpcodeOfRequest(client),
SendErrorToClient(client, client->majorOp,
client->minorOp,
client->errorValue, result);
break;
}
@@ -466,8 +475,6 @@ Dispatch(void)
SmartScheduleLatencyLimited = 0;
}
#undef MAJOROP
static int VendorRelease = VENDOR_RELEASE;
static char *VendorString = VENDOR_NAME;