|
|
- From 84fdd943aee9fdf199f6668145246d3021527c29 Mon Sep 17 00:00:00 2001
- From: Rosen Penev <rosenp@gmail.com>
- Date: Sun, 11 Oct 2020 22:10:45 -0700
- Subject: [PATCH] remove usleep
-
- usleep is removed in POSIX 2008.
-
- Signed-off-by: Rosen Penev <rosenp@gmail.com>
- ---
- term.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
- diff --git a/term.c b/term.c
- index b45ab3d..23afd4f 100644
- --- a/term.c
- +++ b/term.c
- @@ -33,6 +33,7 @@
- #include <stdio.h>
- #include <string.h>
- #include <errno.h>
- +#include <time.h>
- #include <unistd.h>
- #include <termios.h>
- #ifdef USE_FLOCK
- @@ -1588,6 +1589,8 @@ term_drain(int fd)
-
- rval = 0;
-
- + struct timespec s;
- +
- do { /* dummy */
-
- r = term_find(fd);
- @@ -1614,7 +1617,10 @@ term_drain(int fd)
- the port is immediately reconfigured, even after a
- drain. (I guess, drain does not wait for everything to
- actually be transitted on the wire). */
- - if ( DRAIN_DELAY ) usleep(DRAIN_DELAY);
- + if ( DRAIN_DELAY ) {
- + struct timespec d = {0, DRAIN_DELAY * 1000};
- + nanosleep(&d, &s);
- + }
-
- } while (0);
-
- @@ -1627,6 +1633,7 @@ int
- term_fake_flush(int fd)
- {
- struct termios tio;
- + struct timespec s;
- int rval, i, r;
-
- rval = 0;
- @@ -1666,7 +1673,10 @@ term_fake_flush(int fd)
- break;
- }
- /* see comment in term_drain */
- - if ( DRAIN_DELAY ) usleep(DRAIN_DELAY);
- + if ( DRAIN_DELAY ) {
- + struct timespec d = {0, DRAIN_DELAY * 1000};
- + nanosleep(&d, &s);
- + }
- /* Reset flow-control to original setting. */
- r = tcsetattr(fd, TCSANOW, &term.currtermios[i]);
- if ( r < 0 ) {
|