recvfrom and timeout signal
Corinna Vinschen
cygwin@cygwin.com
Wed Feb 20 06:32:00 GMT 2002
On Tue, Feb 19, 2002 at 10:28:02PM +0100, Piotr St?pie? wrote:
> Hi All,
>
> I try to implement timeout for recvfrom:
>
> struct sigaction action;
> action.sa_handler = alarm_signal;
> action.sa_flags = 0;
> sigemptyset(&(action.sa_mask)); /* ignore all known signals */
> sigaction(SIGALRM,&action,NULL); /* ensures that SA_RESTART is NOT set */
>
> alarm(TIMEOUT);
> int st=recvfrom(sockfd,buff,sizeof(buff),0,(sockaddr*)&srv_addr,&sz);
> if(st == -1){
> if(errno==EINTR){
> /* timeout */
> }else{
> alarm(0); /* reset alarm */
> }
> }
>
> but the process is never woken by SIGALRM when no packet is received.
> The recvfrom waits forever.
>
> Has anybody an idea what can be wrong ?
Are you using an old version of Cygwin? Your test application
works well on Cygwin 1.3.9.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Developer mailto:cygwin@cygwin.com
Red Hat, Inc.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list