diff options
Diffstat (limited to 'os')
-rw-r--r-- | os/connection.c | 2 | ||||
-rw-r--r-- | os/io.c | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/os/connection.c b/os/connection.c index 4294ee7eb..a901ebf3c 100644 --- a/os/connection.c +++ b/os/connection.c @@ -908,7 +908,7 @@ CloseDownConnection(ClientPtr client) OsCommPtr oc = (OsCommPtr) client->osPrivate; if (FlushCallback) - CallCallbacks(&FlushCallback, NULL); + CallCallbacks(&FlushCallback, client); if (oc->output) FlushClient(client, oc, (char *) NULL, 0); @@ -598,9 +598,6 @@ FlushAllOutput(void) register ClientPtr client, tmp; Bool newoutput = NewOutputPending; - if (FlushCallback) - CallCallbacks(&FlushCallback, NULL); - if (!newoutput) return; @@ -767,9 +764,6 @@ WriteToClient(ClientPtr who, int count, const void *__buf) NewOutputPending = FALSE; } - if (FlushCallback) - CallCallbacks(&FlushCallback, NULL); - return FlushClient(who, oc, buf, count); } @@ -815,6 +809,9 @@ FlushClient(ClientPtr who, OsCommPtr oc, const void *__extraBuf, int extraCount) if (!notWritten) return 0; + if (FlushCallback) + CallCallbacks(&FlushCallback, who); + todo = notWritten; while (notWritten) { long before = written; /* amount of whole thing written */ |