On Wed, Jan 08, 2020 at 01:53:25PM +0100, Martin Pieuchot wrote:
> Use tsleep_nsec(9) for multiline infinite sleeps as well!
>
> ok?

OK bluhm@

> 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