git: DragonFly_RELEASE_6_2 sh - Support writes to non-blocking descriptors

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Nov 13 16:36:34 PST 2022


commit 29231458c89f593fca2ec1580deadc57f6dd10b2
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Jul 3 20:54:42 2022 -0700

    sh - Support writes to non-blocking descriptors
    
    * Instead of reporting "write error on stdout", support writes
      to non-blocking sockets by having xwrite() use poll() to block
      when EAGAIN is returned.
    
    * This is possibly related to such errors appearing in the dsynth
      logs.  Presumably (unverified), /bin/sh can wind up being executed
      with descriptor 1 set to non-blocking.  This works fine only as long
      as the other end of the pipe is able to drain it quickly enough.
      But under heavy loads, this might not happen.

Summary of changes:
 bin/sh/output.c | 31 ++++++++++++++++++++++++++++---
 bin/sh/output.h |  1 +
 2 files changed, 29 insertions(+), 3 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/29231458c89f593fca2ec1580deadc57f6dd10b2


-- 
DragonFly BSD source repository


More information about the Commits mailing list