summary refs log tree commit diff
path: root/client.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-10-27 22:42:33 -0400
committerJune McEnroe <june@causal.agency>2019-10-27 22:42:33 -0400
commit766210d614f249cf04b84b691351d03047f36754 (patch)
treedc21d9ae2c851ff54be19da4c6b8bd4fa3451939 /client.c
parentSet SO_REUSEADDR on binds (diff)
downloadpounce-766210d614f249cf04b84b691351d03047f36754.tar.gz
pounce-766210d614f249cf04b84b691351d03047f36754.zip
Only increment consumer after successful send
Diffstat (limited to 'client.c')
-rw-r--r--client.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/client.c b/client.c
index b5fb36a..2b075ec 100644
--- a/client.c
+++ b/client.c
@@ -259,7 +259,7 @@ size_t clientDiff(const struct Client *client) {
 
 void clientConsume(struct Client *client) {
 	time_t time;
-	const char *line = ringConsume(&time, client->consumer);
+	const char *line = ringPeek(&time, client->consumer);
 	if (!line) return;
 	if (client->serverTime) {
 		char ts[sizeof("YYYY-MM-DDThh:mm:ss.sssZ")];
@@ -269,4 +269,5 @@ void clientConsume(struct Client *client) {
 	} else {
 		clientFormat(client, "%s\r\n", line);
 	}
+	if (!client->error) ringConsume(NULL, client->consumer);
 }