summaryrefslogtreecommitdiff
path: root/core/apps/embeddedkonsole/MyPty.cpp
authorwaspe <waspe>2004-02-22 12:57:58 (UTC)
committer waspe <waspe>2004-02-22 12:57:58 (UTC)
commit5bc4dbd932fcfa64773b6e17fe57c665bdcd50b8 (patch) (side-by-side diff)
treeb97f5281b807b4218f437150a4e9082694e7a642 /core/apps/embeddedkonsole/MyPty.cpp
parent908f9c9f0c68d1c3e5a620a69bbf0d05684e2ab3 (diff)
downloadopie-5bc4dbd932fcfa64773b6e17fe57c665bdcd50b8.zip
opie-5bc4dbd932fcfa64773b6e17fe57c665bdcd50b8.tar.gz
opie-5bc4dbd932fcfa64773b6e17fe57c665bdcd50b8.tar.bz2
merged changes form qkonsole back into opie-embeddedkonsole (most likely not bugfree !)
Diffstat (limited to 'core/apps/embeddedkonsole/MyPty.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/embeddedkonsole/MyPty.cpp10
1 files changed, 8 insertions, 2 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,8 +170,7 @@ 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("TERM","vt100",1);
setenv("COLORTERM","0",1);
if (getuid() == 0) {