]> gitweb.factorcode.org Git - factor.git/commitdiff
io.sockets.secure.openssl: fix drain to check for empty buffer
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 19 May 2023 22:58:43 +0000 (15:58 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 19 May 2023 22:58:43 +0000 (15:58 -0700)
basis/io/sockets/secure/openssl/openssl.factor

index 0d938d84bb909922306aeacb9cc87685bae783a6..9ba2c1b8046cd67e63a12be2e265cc20d761c765 100644 (file)
@@ -354,7 +354,9 @@ M: ssl-handle refill
 ! Output ports
 : do-ssl-write ( buffer ssl-handle -- event/f )
     2dup handle>> swap [ buffer@ ] [ buffer-length ] bi SSL_write
-    dup 0 > [ nip swap buffer-consume f ] [ check-ssl-error nip ] if ;
+    dup 0 > [
+        nip over buffer-consume buffer-empty? f +output+ ?
+    ] [ check-ssl-error nip ] if ;
 
 M: ssl-handle drain
     throw-if-terminated