diff options
Diffstat (limited to 'emu')
| -rw-r--r-- | emu/port/devsrv.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/emu/port/devsrv.c b/emu/port/devsrv.c index 3fec01fc..f655bf96 100644 --- a/emu/port/devsrv.c +++ b/emu/port/devsrv.c @@ -607,10 +607,6 @@ srvwrite(Chan *c, void *va, long count, vlong offset) ptrdel(D2H(req.t1)); destroy(req.t1); - poperror(); - ptrdel(D2H(wc)); - destroy(wc); - h = heap(dev.Rwrite); w = H2D(Sys_Rwrite *, h); ptradd(h); @@ -628,6 +624,10 @@ srvwrite(Chan *c, void *va, long count, vlong offset) destroy(w); poperror(); + ptrdel(D2H(wc)); + destroy(wc); + + poperror(); release(); if(l < 0) l = 0; |
