[FEEDBACK] Issue with fd_set, FD_ZERO, FD_SET, FD_SETSIZE : Cygwin
Yeo Kai Wei
yeokaiwei@hotmail.com
Mon Feb 6 22:50:07 GMT 2023
On 7/2/2023 4:59 am, gs-cygwin.com@gluelogic.com wrote:
> On Tue, Feb 07, 2023 at 04:33:53AM +0800, Yeo Kai Wei wrote:
>> Hi All,
>>
>> Thanks for the help.
>>
>> I tried adding "#include <sys/select.h>".
>>
>> However, this is the error message that was returned to me.
>>
>> $ gcc -o selectStdIn selectStdIn.c
>> selectStdIn.c:9:10: fatal error: sys/select.h: No such file or directory
>> #include <sys/select.h>
>>
>> Thank you.
>>
>> On 7/2/2023 4:30 am,gs-cygwin.com@gluelogic.com wrote:
>>> On Tue, Feb 07, 2023 at 04:25:22AM +0800, Yeo Kai Wei via Cygwin wrote:
>>>> Hi,
>>>>
>>>> I would like to report an issue with Cygwin 3.4.2 on Windows.
>>>>
>>>> It doesn't seem to be able to work with fd_set, FD_ZERO, FD_SET, FD_SETSIZE
>>>> macros.
>>>>
>>>> The code is in italics. The filename was selectStdIn.c. The terminal command
>>>> used was "gcc -o selectStdIn selectStdIn.c"
>>>>
>>>> Thank you.
>>>>
>>>> /
>>>> /
>>>>
>>>> /CODE
>>>> /
>>>>
>>>> /#include <stdio.h>//
>>>> //#include <stdlib.h>//
>>>> //#include <sys/time.h>//
>>>> //#include <unistd.h>//
>>>> / /
>>>> //void main()//
>>>> //{//
>>>> // fd_set fds; //set of file descriptors//
>>>> / /
>>>> // struct timeval tv;//
>>>> / /
>>>> // int flag;//
>>>> / /
>>>> // char byte;//
>>>> / /
>>>> // FD_ZERO(&fds);//
>>>> / /
>>>> // FD_SET(0, &fds);//
>>>> / /
>>>> // tv.tv_sec = 5;//
>>>> / /
>>>> // tv.tv_usec = 0;//
>>>> / /
>>>> // flag = select(FD_SETSIZE, //
>>>> // &fds,//
>>>> // NULL,//
>>>> // NULL,//
>>>> // &tv);//
>>>> / /
>>>> // if(-1 == flag)//
>>>> // perror("select error");//
>>>> // else if(flag)//
>>>> // {//
>>>> // read(0,&byte,1);//
>>>> / /
>>>> // puts("data read");//
>>>> // }//
>>>> / /
>>>> // if(flag)//
>>>> // printf("The byte value is %c\n", byte);//
>>>> ////
>>>> //}/
>>>>
>>>>
>>>> TERMINAL COMMANDS
>>>>
>>>> $ gcc -o selectStdIn selectStdIn.c
>>>> selectStdIn.c: In function 'main':
>>>> selectStdIn.c:8:2: error: unknown type name 'fd_set'; did you mean 'fpos_t'?
>>>> fd_set fds; //set of file descriptors
>>>> ^~~~~~
>>>> fpos_t
>>>> selectStdIn.c:16:2: warning: implicit declaration of function 'FD_ZERO'
>>>> [-Wimpli
>>>> cit-function-declaration]
>>>> FD_ZERO(&fds);
>>>> ^~~~~~~
>>>> selectStdIn.c:18:2: warning: implicit declaration of function 'FD_SET'
>>>> [-Wimplic
>>>> it-function-declaration]
>>>> FD_SET(0, &fds);
>>>> ^~~~~~
>>>> selectStdIn.c:24:9: warning: implicit declaration of function 'select'; did
>>>> you
>>>> mean 'sleep'? [-Wimplicit-function-declaration]
>>>> flag = select(FD_SETSIZE,
>>>> ^~~~~~
>>>> sleep
>>>> selectStdIn.c:24:16: error: 'FD_SETSIZE' undeclared (first use in this
>>>> function)
>>>> flag = select(FD_SETSIZE,
>>>> ^~~~~~~~~~
>>>> selectStdIn.c:24:16: note: each undeclared identifier is reported only once
>>>> for
>>>> each function it appears in
>>> $ man select
>>>
>>> #include <sys/select.h>
> Please post at bottom of messages on this mailing list.
>
> You need to install the cygwin-devel package to get <sys/select.h>
>
> Cheers, Glenn
Hi All,
Thanks for the help.
Is this the correct link?
https://www.cygwin.com/packages/summary/cygwin-devel.html
I assume I should download the following
3.4.5-1 310 KiB 2023-01-19 19:25 [list of files
<https://www.cygwin.com/packages/x86_64/cygwin-devel/cygwin-devel-3.4.5-1>]
stable
Thank you very much.
Kind Regards,
YEO Kai Wei
More information about the Cygwin
mailing list