From dde135bceada08eab3e413637d4dbedccadd97be Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 28 Mar 2000 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2000-03-28 --- boot/userpasswd.c | 1 - ip/rudp.c | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/boot/userpasswd.c b/boot/userpasswd.c index f2b26ff8f42b1d239a173b6e4bdb2108bfb8e77a..98caf80ed148ba362c920d854636757e4d28e307 100644 --- a/boot/userpasswd.c +++ b/boot/userpasswd.c @@ -47,5 +47,4 @@ userpasswd(int islocal, Method *mp) /* set host's owner (and uid of current process) */ if(writefile("#c/hostowner", username, strlen(username)) < 0) fatal(homsg); - close(fd); } diff --git a/ip/rudp.c b/ip/rudp.c index 8feeb41ab4a5d2aa1af9f127c2b399894e3c1bff..3eb3fa4bc811eda2b11543aff707b6e38815ff16 100644 --- a/ip/rudp.c +++ b/ip/rudp.c @@ -126,6 +126,7 @@ struct Reliable ulong ackrcvd; /* last msg for which ack was rcvd */ /* flow control */ + QLock lock; Rendez vous; int blocked; }; @@ -435,6 +436,7 @@ rudpkick(Conv *c, int) hnputs(uh->udpcksum, ptclcsum(bp, UDP_IPHDR, dlen+UDP_RHDRSIZE)); relackq(r, bp); + qunlock(ucb); upriv->ustats.rudpOutDatagrams++; @@ -444,13 +446,14 @@ rudpkick(Conv *c, int) doipoput(c, f, bp, 0, c->ttl, c->tos); /* flow control of sorts */ + qlock(&r->lock); if(UNACKED(r) > Maxunacked){ r->blocked = 1; sleep(&r->vous, flow, r); r->blocked = 0; } + qunlock(&r->lock); relput(r); - qunlock(ucb); } void