mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-02 08:50:09 +01:00
Bigreqs are built-in and mandatory.
(cherry picked from commit f65c50c4e9)
This commit is contained in:
parent
2fe86459cf
commit
2b145ba81d
8 changed files with 3 additions and 58 deletions
|
|
@ -20,6 +20,7 @@ endif
|
|||
|
||||
# Sources always included in libXextbuiltin.la & libXext.la
|
||||
BUILTIN_SRCS = \
|
||||
bigreq.c \
|
||||
shape.c \
|
||||
sleepuntil.c \
|
||||
sleepuntil.h \
|
||||
|
|
@ -27,7 +28,6 @@ BUILTIN_SRCS = \
|
|||
|
||||
# Sources always included in libXextmodule.la & libXext.la
|
||||
MODULE_SRCS = \
|
||||
bigreq.c \
|
||||
shape.c \
|
||||
sync.c \
|
||||
xcmisc.c
|
||||
|
|
|
|||
|
|
@ -74,15 +74,6 @@ static ExtensionModule extensionModules[] = {
|
|||
NULL
|
||||
},
|
||||
#endif
|
||||
#ifdef BIGREQS
|
||||
{
|
||||
BigReqExtensionInit,
|
||||
XBigReqExtensionName,
|
||||
&noBigReqExtension,
|
||||
NULL,
|
||||
NULL
|
||||
},
|
||||
#endif
|
||||
#ifdef XSYNC
|
||||
{
|
||||
SyncExtensionInit,
|
||||
|
|
|
|||
|
|
@ -29,11 +29,6 @@ extern void XTestExtensionInit(INITARGS);
|
|||
extern void XTestExtension1Init(INITARGS);
|
||||
#endif
|
||||
|
||||
#ifdef BIGREQS
|
||||
extern void BigReqExtensionInit(INITARGS);
|
||||
#include <X11/extensions/bigreqstr.h>
|
||||
#endif
|
||||
|
||||
#ifdef XSYNC
|
||||
extern void SyncExtensionInit(INITARGS);
|
||||
#define _SYNC_SERVER
|
||||
|
|
|
|||
|
|
@ -226,8 +226,6 @@ _X_HIDDEN void *dixLookupTab[] = {
|
|||
SYMVAR(DPMSDisabledSwitch)
|
||||
SYMVAR(defaultDPMSEnabled)
|
||||
#endif
|
||||
/* bigreq */
|
||||
SYMVAR(maxBigRequestSize)
|
||||
#ifdef XV
|
||||
/* XXX These are exported from the DDX, not DIX. */
|
||||
SYMVAR(XvScreenInitProc)
|
||||
|
|
@ -341,9 +339,6 @@ _X_HIDDEN void *dixLookupTab[] = {
|
|||
SYMVAR(noTestExtensions)
|
||||
SYMFUNC(GiveUp)
|
||||
|
||||
#ifdef BIGREQS
|
||||
SYMVAR(noBigReqExtension)
|
||||
#endif
|
||||
#ifdef COMPOSITE
|
||||
SYMVAR(noCompositeExtension)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -46,10 +46,6 @@ extern Bool DPMSCapableFlag;
|
|||
extern Bool PanoramiXExtensionDisabledHack;
|
||||
#endif
|
||||
|
||||
#ifdef BIGREQS
|
||||
extern Bool noBigReqExtension;
|
||||
#endif
|
||||
|
||||
#ifdef COMPOSITE
|
||||
extern Bool noCompositeExtension;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -88,9 +88,6 @@ SOFTWARE.
|
|||
|
||||
extern Bool noTestExtensions;
|
||||
|
||||
#ifdef BIGREQS
|
||||
extern Bool noBigReqExtension;
|
||||
#endif
|
||||
#ifdef COMPOSITE
|
||||
extern Bool noCompositeExtension;
|
||||
#endif
|
||||
|
|
@ -228,9 +225,7 @@ extern void XInputExtensionInit(INITARGS);
|
|||
#ifdef XTEST
|
||||
extern void XTestExtensionInit(INITARGS);
|
||||
#endif
|
||||
#ifdef BIGREQS
|
||||
extern void BigReqExtensionInit(INITARGS);
|
||||
#endif
|
||||
#ifdef XIDLE
|
||||
extern void XIdleExtensionInit(INITARGS);
|
||||
#endif
|
||||
|
|
@ -322,9 +317,6 @@ typedef struct {
|
|||
static ExtensionToggle ExtensionToggleList[] =
|
||||
{
|
||||
/* sort order is extension name string as shown in xdpyinfo */
|
||||
#ifdef BIGREQS
|
||||
{ "BIG-REQUESTS", &noBigReqExtension },
|
||||
#endif
|
||||
#ifdef COMPOSITE
|
||||
{ "Composite", &noCompositeExtension },
|
||||
#endif
|
||||
|
|
@ -463,9 +455,7 @@ InitExtensions(argc, argv)
|
|||
#ifdef XTEST
|
||||
if (!noTestExtensions) XTestExtensionInit();
|
||||
#endif
|
||||
#ifdef BIGREQS
|
||||
if (!noBigReqExtension) BigReqExtensionInit();
|
||||
#endif
|
||||
BigReqExtensionInit();
|
||||
#ifdef XIDLE
|
||||
if (!noXIdleExtension) XIdleExtensionInit();
|
||||
#endif
|
||||
|
|
@ -570,6 +560,7 @@ static ExtensionModule staticExtensions[] = {
|
|||
#ifdef XTEST
|
||||
{ XTestExtensionInit, XTestExtensionName, &noTestExtensions, NULL, NULL },
|
||||
#endif
|
||||
{ BigReqExtensionInit, "BIG-REQUESTS", NULL, NULL, NULL },
|
||||
#ifdef XIDLE
|
||||
{ XIdleExtensionInit, "XIDLE", &noXIdleExtension, NULL, NULL },
|
||||
#endif
|
||||
|
|
|
|||
20
os/io.c
20
os/io.c
|
|
@ -118,13 +118,11 @@ static OsCommPtr AvailableInput = (OsCommPtr)NULL;
|
|||
#define get_req_len(req,cli) ((cli)->swapped ? \
|
||||
lswaps((req)->length) : (req)->length)
|
||||
|
||||
#ifdef BIGREQS
|
||||
#include <X11/extensions/bigreqstr.h>
|
||||
|
||||
#define get_big_req_len(req,cli) ((cli)->swapped ? \
|
||||
lswapl(((xBigReq *)(req))->length) : \
|
||||
((xBigReq *)(req))->length)
|
||||
#endif
|
||||
|
||||
#define MAX_TIMES_PER 10
|
||||
|
||||
|
|
@ -204,9 +202,7 @@ ReadRequestFromClient(ClientPtr client)
|
|||
int result;
|
||||
register xReq *request;
|
||||
Bool need_header;
|
||||
#ifdef BIGREQS
|
||||
Bool move_header;
|
||||
#endif
|
||||
|
||||
/* If an input buffer was empty, either free it if it is too big
|
||||
* or link it into our list of free input buffers. This means that
|
||||
|
|
@ -255,9 +251,7 @@ ReadRequestFromClient(ClientPtr client)
|
|||
oci->bufptr += oci->lenLastReq;
|
||||
|
||||
need_header = FALSE;
|
||||
#ifdef BIGREQS
|
||||
move_header = FALSE;
|
||||
#endif
|
||||
gotnow = oci->bufcnt + oci->buffer - oci->bufptr;
|
||||
if (gotnow < sizeof(xReq))
|
||||
{
|
||||
|
|
@ -274,7 +268,6 @@ ReadRequestFromClient(ClientPtr client)
|
|||
*/
|
||||
request = (xReq *)oci->bufptr;
|
||||
needed = get_req_len(request, client);
|
||||
#ifdef BIGREQS
|
||||
if (!needed && client->big_requests)
|
||||
{
|
||||
/* It's a Big Request. */
|
||||
|
|
@ -288,7 +281,6 @@ ReadRequestFromClient(ClientPtr client)
|
|||
else
|
||||
needed = get_big_req_len(request, client);
|
||||
}
|
||||
#endif
|
||||
client->req_len = needed;
|
||||
needed <<= 2; /* needed is in bytes now */
|
||||
}
|
||||
|
|
@ -301,14 +293,12 @@ ReadRequestFromClient(ClientPtr client)
|
|||
*/
|
||||
|
||||
oci->lenLastReq = 0;
|
||||
#ifdef BIGREQS
|
||||
if (needed > maxBigRequestSize << 2)
|
||||
{
|
||||
/* request is too big for us to handle */
|
||||
YieldControlDeath();
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
if ((gotnow == 0) ||
|
||||
((oci->bufptr - oci->buffer + needed) > oci->size))
|
||||
{
|
||||
|
|
@ -385,7 +375,6 @@ ReadRequestFromClient(ClientPtr client)
|
|||
/* We wanted an xReq, now we've gotten it. */
|
||||
request = (xReq *)oci->bufptr;
|
||||
needed = get_req_len(request, client);
|
||||
#ifdef BIGREQS
|
||||
if (!needed && client->big_requests)
|
||||
{
|
||||
move_header = TRUE;
|
||||
|
|
@ -394,7 +383,6 @@ ReadRequestFromClient(ClientPtr client)
|
|||
else
|
||||
needed = get_big_req_len(request, client);
|
||||
}
|
||||
#endif
|
||||
client->req_len = needed;
|
||||
needed <<= 2;
|
||||
}
|
||||
|
|
@ -407,11 +395,9 @@ ReadRequestFromClient(ClientPtr client)
|
|||
}
|
||||
if (needed == 0)
|
||||
{
|
||||
#ifdef BIGREQS
|
||||
if (client->big_requests)
|
||||
needed = sizeof(xBigReq);
|
||||
else
|
||||
#endif
|
||||
needed = sizeof(xReq);
|
||||
}
|
||||
oci->lenLastReq = needed;
|
||||
|
|
@ -429,12 +415,10 @@ ReadRequestFromClient(ClientPtr client)
|
|||
{
|
||||
request = (xReq *)(oci->bufptr + needed);
|
||||
if (gotnow >= (result = (get_req_len(request, client) << 2))
|
||||
#ifdef BIGREQS
|
||||
&& (result ||
|
||||
(client->big_requests &&
|
||||
(gotnow >= sizeof(xBigReq) &&
|
||||
gotnow >= (get_big_req_len(request, client) << 2))))
|
||||
#endif
|
||||
)
|
||||
FD_SET(fd, &ClientsWithInput);
|
||||
else
|
||||
|
|
@ -463,7 +447,6 @@ ReadRequestFromClient(ClientPtr client)
|
|||
#endif
|
||||
if (++timesThisConnection >= MAX_TIMES_PER)
|
||||
YieldControl();
|
||||
#ifdef BIGREQS
|
||||
if (move_header)
|
||||
{
|
||||
request = (xReq *)oci->bufptr;
|
||||
|
|
@ -472,7 +455,6 @@ ReadRequestFromClient(ClientPtr client)
|
|||
oci->lenLastReq -= (sizeof(xBigReq) - sizeof(xReq));
|
||||
client->req_len -= (sizeof(xBigReq) - sizeof(xReq)) >> 2;
|
||||
}
|
||||
#endif
|
||||
client->requestBuffer = (pointer)oci->bufptr;
|
||||
#ifdef DEBUG_COMMUNICATION
|
||||
{
|
||||
|
|
@ -584,7 +566,6 @@ ResetCurrentRequest(ClientPtr client)
|
|||
{
|
||||
request = (xReq *)oci->bufptr;
|
||||
needed = get_req_len(request, client);
|
||||
#ifdef BIGREQS
|
||||
if (!needed && client->big_requests)
|
||||
{
|
||||
oci->bufptr -= sizeof(xBigReq) - sizeof(xReq);
|
||||
|
|
@ -596,7 +577,6 @@ ResetCurrentRequest(ClientPtr client)
|
|||
swapl(&((xBigReq *)oci->bufptr)->length, n);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (gotnow >= (needed << 2))
|
||||
{
|
||||
if (FD_ISSET(fd, &AllClients))
|
||||
|
|
|
|||
|
|
@ -129,9 +129,6 @@ OR PERFORMANCE OF THIS SOFTWARE.
|
|||
#endif
|
||||
|
||||
_X_EXPORT Bool noTestExtensions;
|
||||
#ifdef BIGREQS
|
||||
_X_EXPORT Bool noBigReqExtension = FALSE;
|
||||
#endif
|
||||
#ifdef COMPOSITE
|
||||
_X_EXPORT Bool noCompositeExtension = FALSE;
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue