diff options
Diffstat (limited to 'ext/kgio/write.c')
-rw-r--r-- | ext/kgio/write.c | 4 |
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; } |