2 Jan 2011 03:15
Re: Handling POLLHUP in evport.c
Nick Mathewson <nickm <at> freehaven.net>
2011-01-02 02:15:04 GMT
2011-01-02 02:15:04 GMT
On Wed, Dec 29, 2010 at 6:07 AM, Yee Keat Phuah <ykphuah <at> gmail.com> wrote: > Hi, > > Recently I came across a scenario where I added a unix pipe in > bufferevent, but then when the pipe is closed, I experience an > infinite loop. > > This happens in Solaris 10 using evport by default. > > Its traced down to evport.c:460. What version were you looking at? The ones I'm looking at now don't have anything interesting on line 460 of evport.c. > Contrary to devpoll.c, epoll.c and poll.c, there's no handling of > POLLHUP, which is what I see returned in my usage of libevent, hence > the events will be 0, it then will trigger an infinite loop in the > base loop. > > Putting out a test program to reproduce this will take some time, > hence I hope this is an obvious bug that the maintainer of evport.c > can respond to, from the limited information above? Sadly, there aren't any evport experts on the Libevent team right now; I can look at the code well enough to try to guess what it's doing, but it seems like you probably know the Solaris APIs better than I do. (I've got nothing against Solaris, but it's not a system I've used regularly since the 90s.) I _think_ what you're suggesting is something like adding(Continue reading)

RSS Feed