Skip to content

Commit 2824268

Browse files
authored
Merge pull request #60 from dpatti/fix-double-callback
fix double callback in when_ready_to_write
2 parents 9f201b1 + ab30dd3 commit 2824268

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

lib/body.ml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,11 @@ let close_reader t =
144144
;;
145145

146146
let when_ready_to_write t callback =
147-
if is_closed t then callback ();
148147
if not (t.when_ready_to_write == default_ready_to_write)
149-
then failwith "Body.when_ready_to_write: only one callback can be registered at a time";
150-
t.when_ready_to_write <- callback
148+
then failwith "Body.when_ready_to_write: only one callback can be registered at a time"
149+
else if is_closed t
150+
then callback ()
151+
else t.when_ready_to_write <- callback
151152

152153
let transfer_to_writer_with_encoding t ~encoding writer =
153154
let faraday = t.faraday in

0 commit comments

Comments
 (0)