Permanent call gettimeofday() when uses embeded loop with timer watcher.

Marc Lehmann schmorp at schmorp.de
Fri Apr 10 14:23:28 CEST 2009


On Fri, Apr 10, 2009 at 04:17:05PM +0400, blacksand blacksand <blacksand at list.ru> wrote:
> I first time use embedded loop and maybe something I do not know,  
> 
> if I comment on all the places where ev_io_start includes for socket a timer is working properly.	
> How can I correct this situation ?
> 
> poll({3/POLLIN 5/POLLIN},2,957)                  = 1 (0x1)

> gettimeofday({1239362888.409441 },0x0)           = 0 (0x0)
> poll({3/POLLIN 5/POLLIN},2,957)                  = 1 (0x1)
> gettimeofday({1239362888.409526 },0x0)           = 0 (0x0)
> gettimeofday({1239362888.409564 },0x0)           = 0 (0x0)
> ............................................
> poll({3/POLLIN 5/POLLIN},2,957)                  = 1 (0x1)

you registered a watcher for fd #5 (or 3), but you never read from it.

since you don't read from it, libev correctly signals that data is ready.

if you do not want to read from an fd, then you should stop the watcher
listening for read events on it.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      pcg at goof.com
      -=====/_/_//_/\_,_/ /_/\_\



More information about the libev mailing list