Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/netsmb smb_rq_enqueue(): use classic plain interruptible...



details:   https://anonhg.NetBSD.org/src/rev/5df401d39ebf
branches:  trunk
changeset: 543280:5df401d39ebf
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Fri Feb 21 19:52:58 2003 +0000

description:
smb_rq_enqueue(): use classic plain interruptible sleep instead
of noniterruptible sleep + smb_proc_intr()

diffstat:

 sys/netsmb/smb_rq.c |  17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

diffs (31 lines):

diff -r d6786cf50da4 -r 5df401d39ebf sys/netsmb/smb_rq.c
--- a/sys/netsmb/smb_rq.c       Fri Feb 21 19:07:36 2003 +0000
+++ b/sys/netsmb/smb_rq.c       Fri Feb 21 19:52:58 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: smb_rq.c,v 1.6 2003/02/18 11:21:01 jdolecek Exp $      */
+/*     $NetBSD: smb_rq.c,v 1.7 2003/02/21 19:52:58 jdolecek Exp $      */
 
 /*
  * Copyright (c) 2000-2001, Boris Popov
@@ -182,15 +182,12 @@
        for (;;) {
                SMBS_ST_LOCK(ssp);
                if (ssp->ss_flags & SMBS_RECONNECTING) {
-#ifdef __NetBSD__
-                       ltsleep(&ssp->ss_vcgenid, PWAIT | PNORELOCK, "90trcn",
-                               hz, SMBS_ST_LOCKPTR(ssp));
-#else
-                       msleep(&ssp->ss_vcgenid, SMBS_ST_LOCKPTR(ssp),
-                           PWAIT | PDROP, "90trcn", hz);
-#endif
-                       if (smb_proc_intr(rqp->sr_cred->scr_p))
-                               return EINTR;
+                       SMBS_ST_UNLOCK(ssp);
+                       error = ltsleep(&ssp->ss_vcgenid,
+                               PWAIT | PCATCH | PNORELOCK,
+                               "90trcn", hz, SMBS_ST_LOCKPTR(ssp));
+                       if (error && error != EWOULDBLOCK)
+                               return (error);
                        continue;
                }
                if (smb_share_valid(ssp) || (ssp->ss_flags & SMBS_CONNECTED) == 0) {



Home | Main Index | Thread Index | Old Index