Diffstat (limited to 'core/apps/embeddedkonsole/MyPty.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/apps/embeddedkonsole/MyPty.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/apps/embeddedkonsole/MyPty.cpp b/core/apps/embeddedkonsole/MyPty.cpp index 7e820ad..e7d8274 100644 --- a/core/apps/embeddedkonsole/MyPty.cpp +++ b/core/apps/embeddedkonsole/MyPty.cpp @@ -79,6 +79,7 @@ #include <sys/ioctl.h> #include <sys/wait.h> +#undef HAVE_OPENPTY #ifdef HAVE_OPENPTY #include <pty.h> #endif @@ -146,6 +147,12 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int) if ( !cpid ) { // child - exec shell on tty for (int sig = 1; sig < NSIG; sig++) signal(sig,SIG_DFL); + + // attempt to keep apm driver from killing us on power on/off + signal(SIGSTOP, SIG_IGN); + signal(SIGCONT, SIG_IGN); + signal(SIGTSTP, SIG_IGN); + int ttyfd = open(ttynam, O_RDWR); dup2(ttyfd, STDIN_FILENO); dup2(ttyfd, STDOUT_FILENO); @@ -163,7 +170,6 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int) ttmode.c_cc[VINTR] = 3; ttmode.c_cc[VERASE] = 8; tcsetattr( STDIN_FILENO, TCSANOW, &ttmode ); - if(strlen(getenv("TERM"))<=0) setenv("TERM","vt100",1); setenv("COLORTERM","0",1); |