From de8397bc3d010bba24ec0c4d2e6249a769a86fc7 Mon Sep 17 00:00:00 2001 From: marha Date: Mon, 8 Oct 2012 08:09:46 +0200 Subject: pixman libxcb mesa xserver xkeyboard-config git update 8 oct 2012 xserver: 09f1e5b15b769e1122f0a8d7cae0820038992312 libxcb: 4ffe54f69049e6792a35a287fd9ff83abbd4fd8d mesa: 86de501f14f11f1e993c8703c0d69bdf1f6c7835 xkeyboard-config: 0a21bb5a28018902a6252fccb620d7dff7e67175 pixman: 3d81d89c292058522cce91338028d9b4c4a23c24 --- xorg-server/os/io.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'xorg-server/os/io.c') diff --git a/xorg-server/os/io.c b/xorg-server/os/io.c index e44db3933..2f091c417 100644 --- a/xorg-server/os/io.c +++ b/xorg-server/os/io.c @@ -82,6 +82,23 @@ SOFTWARE. CallbackListPtr ReplyCallback; CallbackListPtr FlushCallback; +typedef struct _connectionInput { + struct _connectionInput *next; + char *buffer; /* contains current client input */ + char *bufptr; /* pointer to current start of data */ + int bufcnt; /* count of bytes in buffer */ + int lenLastReq; + int size; + unsigned int ignoreBytes; /* bytes to ignore before the next request */ +} ConnectionInput; + +typedef struct _connectionOutput { + struct _connectionOutput *next; + unsigned char *buf; + int size; + int count; +} ConnectionOutput; + static ConnectionInputPtr AllocateInputBuffer(void); static ConnectionOutputPtr AllocateOutputBuffer(void); @@ -846,10 +863,13 @@ FlushClient(ClientPtr who, OsCommPtr oc, const void *__extraBuf, int extraCount) long todo; if (!oco) - return 0; + return 0; written = 0; padsize = padding_for_int32(extraCount); notWritten = oco->count + extraCount + padsize; + if (!notWritten) + return 0; + todo = notWritten; while (notWritten) { long before = written; /* amount of whole thing written */ -- cgit v1.2.3