1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
--- a/modem.c
+++ b/modem.c
@@ -76,10 +76,11 @@ int tty_modem(char* send, char *receive)
int l=0, in=0, out=0, timeout=10;
char tmp[4096];
+ struct timespec h = {0, 100 * 1000 * 1000};
if (strlen(send)) {
while ((timeout--) > 0) {
- usleep(100000);
+ nanosleep(&h, NULL);
ioctl(fd_modem,TIOCMGET,&out);
if (out & TIOCM_CTS) {
l=write(fd_modem,send,strlen(send));
@@ -97,7 +98,7 @@ int tty_modem(char* send, char *receive)
strncat(receive,tmp,in);
if (strchr(receive,'\r')) { break; }
}
- else { usleep(100000); }
+ else { nanosleep(&h, NULL); }
}
if (strlen(receive) > 0 && debug > 3) { fprintf(stderr, "%s\n", receive); }
|