summaryrefslogtreecommitdiff
path: root/os
diff options
context:
space:
mode:
Diffstat (limited to 'os')
-rw-r--r--os/connection.c2
-rw-r--r--os/io.c9
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);
diff --git a/os/io.c b/os/io.c
index 88edf1272..ff0ec3da7 100644
--- a/os/io.c
+++ b/os/io.c
@@ -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 */