- return if $http->{closed};
- if ($http->{write_buf_size}) {
- $self->watch_read(0);
- $http->write(restart_read_cb($self));
+ unless ($http->{closed}) { # PublicInbox::DS sets this
+ if ($http->{write_buf_size}) {
+ $self->watch_read(0);
+ $http->write(restart_read_cb($self));
+ }
+ # stay in watch_read, but let other clients
+ # get some work done, too.
+ return;