diff options
Diffstat (limited to 'sys/src/9/ip/ipv6.c')
| -rw-r--r-- | sys/src/9/ip/ipv6.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/9/ip/ipv6.c b/sys/src/9/ip/ipv6.c index 7d7cdc09a..1d8750cde 100644 --- a/sys/src/9/ip/ipv6.c +++ b/sys/src/9/ip/ipv6.c @@ -76,7 +76,10 @@ ipoput6(Fs *f, Block *bp, int gating, int ttl, int tos, Routehint *rh) else gate = r->v6.gate; - rlock(ifc); + if(!canrlock(ifc)){ + ip->stats[OutDiscards]++; + goto free; + } if(waserror()){ runlock(ifc); nexterror(); |
