CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): HellCat (reentrant.�P)
날 짜 (Date): 1995년08월04일(금) 08시54분49초 KDT
제 목(Title): re: 터미날 모드



fcntl() 이나 ioctl() 을 보세요.

만약 open() 을 직접 하시는 경우에는 오픈 플래그에
O_NDELAY 등을 or 로 빗플래그를 더해줘서 쓰시면 되고.

이미 얻어진 fd 를 바꿀때는 위의 fcntl 이나 ioctl 을
쓰시면 됩니다.


단 한가지 아주 주의 할것은 사용하는 tty 또는
stdin/out 을 논블라킹모드로 내비두고 프로그램 터미네이트
하면 csh 사용을 해서 프로그램을 사용했을 경우
parent shell 들이 졸도 합니다. EOF 가 마구 날라오죠

왜냐면 논블라킹모드로 stdin/out 등이 바뀐체로
내비두게 되면 그 tty 등이 그대로 남아 있게 되어서
아예 쉘 자체가 졸도합니다.


요거 한가지만 주의 하시고...


바꾼다음에는 머 select() 나 poll() 을 쓰시면 될테고..

---
  if (t_snddis(KIDS[i].fd, (struct t_call *)NULL) == -1)
    { t_error("날 죽여라!!"); longjmp ((jmp_buf) HELL, -1); }
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.