반응형



int writable_timeo(int fd, int sec)
{
 fd_set wset;
 struct timeval tv;
 
 FD_ZERO(&wset);
 FD_SET(fd, &wset);
 
 tv.tv_sec = sec;
 tv.tv_usec = 0;
 
 return (select(fd + 1, NULL, &wset, NULL, &tv));
}

위 코드를 사용하여 writable이 가능한지 먼저 체크한후에 writen을 호출합니다.

if(0 >= writable_timeo(fd, 3))
{
 //Error Handling Code;
}

if ((ret = writen(fd, buf, ilen)) != ilen) {
 //Error Handling Code;
}

 

반응형
Posted by 공간사랑
,