TCP socket을 써서 server에 connect할때
timeout을 구현하려고 alarm을 사용해 보려합니다.
======================================
signal(SIGALRM, socket_timeout);
alarm(1);
state = connect(sockfd, (struct sockaddr *)&address, len);
if (state < 0) {
alarm(0);
return(-1);
}
alarm(0);
....
나중에 socket_timeout 함수만 구현해주면 끝나염..
========================================
이렇게 해보려 하는데, connect에서 block되면 더이상 진행되지 않을꺼같은 생각이 드는군요.
그렇다면, alarm이 signal을 발생시키면서 socket_timeout함수를 콜해주면, 그다음은 어떻게 되는거죠?