about summary refs log tree commit homepage
path: root/ext/kgio/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/kgio/write.c')
-rw-r--r--ext/kgio/write.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/kgio/write.c b/ext/kgio/write.c
index fa0d53c..ce4aa75 100644
--- a/ext/kgio/write.c
+++ b/ext/kgio/write.c
@@ -72,6 +72,8 @@ retry:
         n = (long)write(a.fd, a.ptr, a.len);
         if (write_check(&a, n, "write", io_wait) != 0)
                 goto retry;
+        if (TYPE(a.buf) != T_SYMBOL)
+                kgio_autopush_write(io);
         return a.buf;
 }
 
@@ -124,6 +126,8 @@ retry:
         n = (long)send(a.fd, a.ptr, a.len, MSG_DONTWAIT);
         if (write_check(&a, n, "send", io_wait) != 0)
                 goto retry;
+        if (TYPE(a.buf) != T_SYMBOL)
+                kgio_autopush_send(io);
         return a.buf;
 }