This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: select() take 100% CPU with cygwin1.5.5-1 in WinXP/Win2000
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Fri, 31 Oct 2003 12:16:57 +0100
- Subject: Re: select() take 100% CPU with cygwin1.5.5-1 in WinXP/Win2000
- References: <200310310514.h9V5EMM04538@mx1.redhat.com>
- Reply-to: cygwin at cygwin dot com
On Fri, Oct 31, 2003 at 01:14:17PM +0800, zhouxin wrote:
> Cygwin implementation of select() take 100% CPU under multi-thread environment sometimes.
> [...]
> if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){
> fprintf(stderr, "cannot open socket for udp packet!\n");
> exit(1);
> }
>
> while(1){
> struct timeval tv;
> fd_set fds;
>
> FD_ZERO(&fds);
> FD_SET(sockfd, &fds);
>
> tv.tv_sec = timeout;
> tv.tv_usec = 0;
> printf("select the socket_fd : %d, thread_id is : %d\n",
> sockfd, tid);
> select(sockfd + 1, &fds, NULL, NULL, &tv);
> }
That's not allowed. What is the select call waiting for? You
didn't bind or connect it.
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
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/