반응형
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;
}
반응형