Use tsleep_nsec(9) for multiline infinite sleeps as well!

ok?

Index: kern/sysv_sem.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_sem.c,v
retrieving revision 1.56
diff -u -p -r1.56 sysv_sem.c
--- kern/sysv_sem.c     4 Feb 2019 07:04:28 -0000       1.56
+++ kern/sysv_sem.c     8 Jan 2020 12:50:02 -0000
@@ -648,8 +648,8 @@ sys_semop(struct proc *p, void *v, regis
                        semptr->semncnt++;
 
                DPRINTF(("semop:  good night!\n"));
-               error = tsleep(&sema[semid], PLOCK | PCATCH,
-                   "semwait", 0);
+               error = tsleep_nsec(&sema[semid], PLOCK | PCATCH,
+                   "semwait", INFSLP);
                DPRINTF(("semop:  good morning (error=%d)!\n", error));
 
                suptr = NULL;   /* sem_undo may have been reallocated */
Index: miscfs/fifofs/fifo_vnops.c
===================================================================
RCS file: /cvs/src/sys/miscfs/fifofs/fifo_vnops.c,v
retrieving revision 1.70
diff -u -p -r1.70 fifo_vnops.c
--- miscfs/fifofs/fifo_vnops.c  31 Dec 2019 13:48:32 -0000      1.70
+++ miscfs/fifofs/fifo_vnops.c  8 Jan 2020 12:48:54 -0000
@@ -192,16 +192,16 @@ fifo_open(void *v)
        if ((ap->a_mode & O_NONBLOCK) == 0) {
                if ((ap->a_mode & FREAD) && fip->fi_writers == 0) {
                        VOP_UNLOCK(vp);
-                       error = tsleep(&fip->fi_readers,
-                           PCATCH | PSOCK, "fifor", 0);
+                       error = tsleep_nsec(&fip->fi_readers,
+                           PCATCH | PSOCK, "fifor", INFSLP);
                        vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
                        if (error)
                                goto bad;
                }
                if ((ap->a_mode & FWRITE) && fip->fi_readers == 0) {
                        VOP_UNLOCK(vp);
-                       error = tsleep(&fip->fi_writers,
-                           PCATCH | PSOCK, "fifow", 0);
+                       error = tsleep_nsec(&fip->fi_writers,
+                           PCATCH | PSOCK, "fifow", INFSLP);
                        vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
                        if (error)
                                goto bad;
Index: nfs/nfs_vfsops.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_vfsops.c,v
retrieving revision 1.123
diff -u -p -r1.123 nfs_vfsops.c
--- nfs/nfs_vfsops.c    26 Dec 2019 13:28:49 -0000      1.123
+++ nfs/nfs_vfsops.c    8 Jan 2020 12:49:45 -0000
@@ -522,8 +522,7 @@ nfs_decode_args(struct nfsmount *nmp, st
                if (nmp->nm_sotype == SOCK_DGRAM)
                        while (nfs_connect(nmp, NULL)) {
                                printf("nfs_args: retrying connect\n");
-                               (void) tsleep(&lbolt,
-                                             PSOCK, "nfscon", 0);
+                               tsleep_nsec(&lbolt, PSOCK, "nfscon", INFSLP);
                        }
        }
 

Reply via email to