Lines 726-737
Link Here
|
726 |
} |
726 |
} |
727 |
sce->state |= UGEN_ASLP; |
727 |
sce->state |= UGEN_ASLP; |
728 |
DPRINTFN(5, ("ugenread: sleep on %p\n", sce)); |
728 |
DPRINTFN(5, ("ugenread: sleep on %p\n", sce)); |
729 |
error = tsleep(sce, PZERO | PCATCH, "ugenri", 0); |
729 |
error = tsleep(sce, PZERO | PCATCH, "ugenri", |
|
|
730 |
(sce->timeout*hz+999)/1000); |
730 |
DPRINTFN(5, ("ugenread: woke, error=%d\n", error)); |
731 |
DPRINTFN(5, ("ugenread: woke, error=%d\n", error)); |
731 |
if (sc->sc_dying) |
732 |
if (sc->sc_dying) |
732 |
error = EIO; |
733 |
error = EIO; |
733 |
if (error) { |
734 |
if (error) { |
734 |
sce->state &= ~UGEN_ASLP; |
735 |
sce->state &= ~UGEN_ASLP; |
|
|
736 |
if (error == EWOULDBLOCK) |
737 |
error = ETIMEDOUT; |
735 |
break; |
738 |
break; |
736 |
} |
739 |
} |
737 |
} |
740 |
} |