9vx: return errors after enough network EOF reads, like Plan 9 - vx32 - Local 9vx git repository for patches.
       
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) commit 2c7e8d41ce377bd9de58f2b8c256e53a2e0a0c23
 (DIR) parent 10ce51eb5efc3595711c6f7f8f5372641cb4e610
 (HTM) Author: Fazlul Shahriar <none@none>
       Date:   Thu, 31 Jul 2008 15:49:25 -0400
       
       9vx: return errors after enough network EOF reads, like Plan 9
       
       Diffstat:
         src/9vx/devip.c                     |       4 ++++
       
       1 file changed, 4 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/src/9vx/devip.c b/src/9vx/devip.c
       @@ -48,6 +48,7 @@ struct Conv
                int        x;
                Ref        r;
                int        sfd;
       +        int        eof;
                int        perm;
                char        owner[KNAMELEN];
                char*        state;
       @@ -406,6 +407,8 @@ ipread(Chan *ch, void *a, long n, vlong offset)
                                oserrstr();
                                nexterror();
                        }
       +                if(r == 0 && ++c->eof > 3)
       +                        error(Ehungup);
                        return r;
                }
        }
       @@ -602,6 +605,7 @@ protoclone(Proto *p, char *user, int nfd)
                c->sfd = nfd;
                if(nfd == -1)
                        c->sfd = so_socket(p->stype);
       +        c->eof = 0;
        
                unlock(&c->r.lk);
                unlock(&p->l);