summaryrefslogtreecommitdiff
path: root/core/apps/embeddedkonsole/MyPty.cpp
Side-by-side diff
Diffstat (limited to 'core/apps/embeddedkonsole/MyPty.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/MyPty.cpp8
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
@@ -80,4 +80,5 @@
#include <sys/wait.h>
+#undef HAVE_OPENPTY
#ifdef HAVE_OPENPTY
#include <pty.h>
@@ -147,4 +148,10 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int)
// 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);
@@ -164,5 +171,4 @@ int MyPty::run(const char* cmd, QStrList &, const char*, int)
ttmode.c_cc[VERASE] = 8;
tcsetattr( STDIN_FILENO, TCSANOW, &ttmode );
- if(strlen(getenv("TERM"))<=0)
setenv("TERM","vt100",1);
setenv("COLORTERM","0",1);