summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cwfs/net.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-04-17 04:06:33 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-04-17 04:06:33 +0000
commitec338af87bc3cc5310b86b6aa6a0381b25414599 (patch)
tree40968d96fca30a817cd25cd386805a2b2187f8c1 /sys/src/cmd/cwfs/net.c
parent049c2c3434ed71b62bdf06b2a8214ddfe529796e (diff)
cwfs: code cleanup
Diffstat (limited to 'sys/src/cmd/cwfs/net.c')
-rw-r--r--sys/src/cmd/cwfs/net.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/sys/src/cmd/cwfs/net.c b/sys/src/cmd/cwfs/net.c
index 3cd8f08ca..927433db1 100644
--- a/sys/src/cmd/cwfs/net.c
+++ b/sys/src/cmd/cwfs/net.c
@@ -52,30 +52,27 @@ static void
neti(void *v)
{
int lisfd, accfd;
- Network *net;
NetConnInfo *nci;
+ Network *net;
net = v;
print("net%di\n", net->ctlrno);
+Listen:
+ if((lisfd = listen(net->anndir, net->lisdir)) < 0){
+ print("listen %s failed: %r\n", net->anndir);
+ return;
+ }
for(;;) {
- lisfd = listen(net->anndir, net->lisdir);
- if (lisfd < 0) {
- print("listen %s failed: %r\n", net->anndir);
- continue;
- }
-
/* got new call on lisfd */
- accfd = accept(lisfd, net->lisdir);
- if (accfd < 0) {
+ if((accfd = accept(lisfd, net->lisdir)) < 0){
print("accept %d (from %s) failed: %r\n",
lisfd, net->lisdir);
- continue;
+ close(lisfd);
+ goto Listen;
}
-
nci = getnetconninfo(net->lisdir, accfd);
srvchan(accfd, nci->raddr);
freenetconninfo(nci);
- close(lisfd);
}
}
@@ -85,7 +82,7 @@ netstart(void)
Network *net;
for(net = &netif[0]; net < &netif[Maxnets]; net++){
- if(net->dialstr == nil)
+ if(net->dialstr == nil || *net->anndir == 0)
continue;
sprint(net->name, "net%di", net->ctlrno);
newproc(neti, net, net->name);
@@ -99,10 +96,13 @@ netinit(void)
for (net = netif; net < netif + Maxnets; net++) {
net->dialstr = annstrs[net - netif];
- if (net->dialstr == nil)
+ if(net->dialstr == nil)
continue;
- if((net->annfd = announce(net->dialstr, net->anndir)) < 0)
+ if((net->annfd = announce(net->dialstr, net->anndir)) < 0){
print("can't announce %s: %r", net->dialstr);
+ net->dialstr = nil;
+ continue;
+ }
print("netinit: announced on %s\n", net->dialstr);
}
}