diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-04-22 18:50:11 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2018-04-22 18:50:11 +0200 |
commit | 89625510554e65ec088110195670092bfe95fea4 (patch) | |
tree | 2281ad0ec3ae9df40d0a37b69f03563288373f2f /sys/src/9/ip/loopbackmedium.c | |
parent | dbf13129a702cc066517acf147fb01c13df456cb (diff) |
devip: increment in counter *AFTER* acquiering the ifc lock or loopbackmedium
Diffstat (limited to 'sys/src/9/ip/loopbackmedium.c')
-rw-r--r-- | sys/src/9/ip/loopbackmedium.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/9/ip/loopbackmedium.c b/sys/src/9/ip/loopbackmedium.c index 38e2fd7ee..c66c31092 100644 --- a/sys/src/9/ip/loopbackmedium.c +++ b/sys/src/9/ip/loopbackmedium.c @@ -75,14 +75,13 @@ loopbackread(void *a) lb = ifc->arg; lb->readp = up; /* hide identity under a rock for unbind */ if(waserror()){ - lb->readp = 0; + lb->readp = nil; pexit("hangup", 1); } for(;;){ bp = qbread(lb->q, Maxtu); if(bp == nil) continue; - ifc->in++; if(!canrlock(ifc)){ freeb(bp); continue; @@ -91,6 +90,7 @@ loopbackread(void *a) runlock(ifc); nexterror(); } + ifc->in++; if(ifc->lifc == nil) freeb(bp); else |