solaris 상에서 select()와 ioctl

글쓴이: 익명 사용자 / 작성시간: 목, 2002/10/31 - 8:10오후
서버에 접속하는 클라이언트 프로그램을 만들고 있습니다
(솔라리스 8, 스팍)
접속을 한 후에 select를 이용해서 데이터를 주고 받고 있습니다.
connect()
while (1)
{
select()
if (FD_ISSET(svrfd, &test_readfds))
if (FD_ISSET(svrfd, &test_writefds))
}
select를 실행한 후에 리턴값을 2를 받았습니다.
(보통 write fds는 set 되고 - 이때는 1, 2라는 것은 read fds가 set
됐습니다.)
if (FD_ISSET(svrfd, &test_readfds))
{
if (ioctl(svrfd, FIONREAD, &read_counter) < 0)
}
이 부분에서 ioctl 이 에러를 냅니다. (값이 -1)
에러를 내는 타이밍은 종종 변하더군요.
접속 후 바로 낼 때고 있고, 데이터를 한두개 던지고 받고 한 후에
낼때도 있습니다.
리눅스에서는 이상없이 썼던 것인데 썬스팍에서 말썽이군요.
고수분들의 조언 바랍니다.
감사합니다.
Forums:
댓글 달기