poll() returns even if there is data.

Siddhesh Poyarekar siddhesh.poyarekar at gmail.com
Fri Jul 23 07:41:59 UTC 2010


On Fri, Jul 23, 2010 at 10:01 AM, Mansuri, Wasim (NSN - IN/Bangalore)
<wasim.mansuri at nsn.com> wrote:
> Here in my code I am doing open than poll and if poll returns with the event POLLIN than read.
> Even if poll returns with the event POLLIN read returns 0, that means no data.
>
<snip>
> I am pasting code snip below.
>
>  if((fd = open(fileName,O_RDONLY))==-1){
>            printf("File opened Failed errno=%d\n",errno);
>            return (0);
>    }
>
>    loc = lseek(fd,0,SEEK_END);

This is your culprit. you're seeking to the end of the file, which
will ensure that your read will result in an EOF.

> poll returned with ret = 1, events = 1, revents=1, errno =0
> Read Failed on /var/log/messages with retValue = 0 Errno = 0


-- 
Siddhesh Poyarekar
http://siddhesh.in


More information about the users mailing list