[wpdev-commits] wolfpack console_unix.cpp,1.7,1.8
Brought to you by:
rip,
thiagocorrea
|
From: <dar...@us...> - 2003-09-13 01:54:59
|
Update of /cvsroot/wpdev/wolfpack
In directory sc8-pr-cvs1:/tmp/cvs-serv10799
Modified Files:
console_unix.cpp
Log Message:
Made the Linux console non-blocking and disabled the local echo.
Index: console_unix.cpp
===================================================================
RCS file: /cvsroot/wpdev/wolfpack/console_unix.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** console_unix.cpp 12 Sep 2003 22:11:47 -0000 1.7
--- console_unix.cpp 13 Sep 2003 01:54:55 -0000 1.8
***************
*** 45,48 ****
--- 45,62 ----
using namespace std;
+ void resetNonBlockingIo()
+ {
+ termios term_caps;
+
+ if( tcgetattr( STDIN_FILENO, &term_caps ) < 0 )
+ return;
+
+ term_caps.c_lflag |= ICANON;
+ term_caps.c_lflag |= ECHO;
+
+ if( tcsetattr( STDIN_FILENO, TCSANOW, &term_caps ) < 0 )
+ return;
+ }
+
void setNonBlockingIo()
{
***************
*** 53,56 ****
--- 67,71 ----
term_caps.c_lflag &= ~ICANON;
+ term_caps.c_lflag &= ~ECHO;
if( tcsetattr( STDIN_FILENO, TCSANOW, &term_caps ) < 0 )
***************
*** 58,61 ****
--- 73,78 ----
setbuf( stdin, NULL );
+
+ atexit( resetNonBlockingIo );
}
|