Changeset 25411
- Timestamp:
- 05/10/08 06:22:18 (6 days ago)
- Files:
-
- haiku/trunk/src/apps/terminal/Shell.cpp (modified) (2 diffs)
- haiku/trunk/src/apps/terminal/Shell.h (modified) (1 diff)
- haiku/trunk/src/apps/terminal/TermView.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
haiku/trunk/src/apps/terminal/Shell.cpp
r25403 r25411 195 195 winSize.ws_row = rows; 196 196 winSize.ws_col = columns; 197 #ifdef __HAIKU__198 197 if (ioctl(fFd, TIOCSWINSZ, &winSize) != 0) 199 198 return errno; 200 199 return B_OK; 201 #else 202 ioctl(fFd, TIOCSWINSZ, &winSize); 203 return Signal(SIGWINCH); 204 #endif 205 } 206 207 208 #ifndef __HAIKU__ 209 status_t 210 Shell::Signal(int signal) 211 { 212 return send_signal(-fProcessID, signal); 213 } 214 #endif 200 } 215 201 216 202 … … 497 483 tcsetpgrp(0, getpgrp()); 498 484 // set this process group ID as the controlling terminal 485 #ifndef __HAIKU__ 486 ioctl(0, 'pgid', getpid()); 487 #endif 499 488 500 489 /* pty open and set termios successful. */ haiku/trunk/src/apps/terminal/Shell.h
r25403 r25411 33 33 34 34 status_t UpdateWindowSize(int row, int columns); 35 #ifndef __HAIKU__36 status_t Signal(int signal);37 #endif38 35 39 36 status_t GetAttr(struct termios &attr); haiku/trunk/src/apps/terminal/TermView.cpp
r25403 r25411 1472 1472 currentMessage->FindInt32("raw_char", &rawChar); 1473 1473 1474 #ifndef __HAIKU__1475 // If bytes[0] equal intr character,1476 // send signal to shell process group.1477 struct termios tio;1478 fShell->GetAttr(tio);1479 if (*bytes == tio.c_cc[VINTR]) {1480 if (tio.c_lflag & ISIG)1481 fShell->Signal(SIGINT);1482 }1483 #endif1484 1485 1474 // Terminal filters RET, ENTER, F1...F12, and ARROW key code. 1486 1475 // TODO: Cleanup
