Mercurial > hg > Members > kono > os9 > sbc09
comparison src/io.c @ 153:e57b2d131e6c
fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 17 Jan 2019 20:14:15 +0900 |
parents | 80f4ec9a3420 |
children | f524c0c95559 |
comparison
equal
deleted
inserted
replaced
152:97a597b0afcd | 153:e57b2d131e6c |
---|---|
27 #include<stdio.h> | 27 #include<stdio.h> |
28 #include<stdlib.h> | 28 #include<stdlib.h> |
29 #include<ctype.h> | 29 #include<ctype.h> |
30 #include<signal.h> | 30 #include<signal.h> |
31 #include<sys/time.h> | 31 #include<sys/time.h> |
32 #include<strings.h> | |
32 | 33 |
33 #include <unistd.h> | 34 #include <unistd.h> |
34 #include <fcntl.h> | 35 #include <fcntl.h> |
35 #include <string.h> | 36 #include <string.h> |
36 #include <time.h> | 37 #include <time.h> |
121 #define pmem(a) mem0(phymem,a,mmu) | 122 #define pmem(a) mem0(phymem,a,mmu) |
122 #else | 123 #else |
123 #define pmem(a) (&mem[a]) | 124 #define pmem(a) (&mem[a]) |
124 #endif | 125 #endif |
125 | 126 |
127 #if _POSIX_SOURCE>=200809L | |
128 | |
129 void usleep(long usec) | |
130 { | |
131 struct timespec rdtp; | |
132 bzero(&rdtp,sizeof(struct timespec)); | |
133 rdtp.tv_nsec = usec*1000; | |
134 nanosleep(&rdtp,0); | |
135 } | |
136 | |
137 #endif | |
126 | 138 |
127 extern int bpskip ; | 139 extern int bpskip ; |
128 extern int stkskip ; | 140 extern int stkskip ; |
129 extern FILE *logfile; | 141 extern FILE *logfile; |
130 | 142 |
398 newterm.c_lflag = newterm.c_lflag & ~ECHO & ~ICANON; | 410 newterm.c_lflag = newterm.c_lflag & ~ECHO & ~ICANON; |
399 newterm.c_cc[VTIME] = 0; | 411 newterm.c_cc[VTIME] = 0; |
400 newterm.c_cc[VMIN] = 1; | 412 newterm.c_cc[VMIN] = 1; |
401 newterm.c_cc[VINTR] = escchar; | 413 newterm.c_cc[VINTR] = escchar; |
402 tcsetattr(0, TCSAFLUSH, &newterm); | 414 tcsetattr(0, TCSAFLUSH, &newterm); |
403 fcntl(0, F_SETFL, tflags | O_NDELAY); /* Make input from stdin non-blocking */ | 415 // fcntl(0, F_SETFL, tflags | O_NDELAY); /* Make input from stdin non-blocking */ |
416 fcntl(0, F_SETFL, tflags | O_NONBLOCK); /* Make input from stdin non-blocking */ | |
404 signal(SIGALRM, timehandler); | 417 signal(SIGALRM, timehandler); |
405 timercontrol.it_interval.tv_sec = 0; | 418 timercontrol.it_interval.tv_sec = 0; |
406 timercontrol.it_interval.tv_usec = timer_usec; | 419 timercontrol.it_interval.tv_usec = timer_usec; |
407 timercontrol.it_value.tv_sec = 0; | 420 timercontrol.it_value.tv_sec = 0; |
408 timercontrol.it_value.tv_usec = timer_usec; | 421 timercontrol.it_value.tv_usec = timer_usec; |