If you use libevent 2.x, you STILL need to set EVENT_NOEPOLL=1.

The hanging bug is an epoll bug in the Linux kernel, so you have to make
libevent use poll or select instead.

The reason you can't just do this with libevent 1.4 is because there is
a bug in the poll and select backends which is worse (makes the server
hang not just client); this is fixed in libevent 2.x.



On Sat, Aug 27, 2011 at 01:18:55AM +0900, Vladimir Lomov wrote:
> Hello,
> 
> I want to add my 2 cents to the topic...
> 
> ** Nicholas Marriott 2011-06-28 07:07
>   on topic "tmux has-session -t MYSESSION 2> /dev/null" said
> 
> > This is a bug in epoll on Linux, you have several choices:
> 
> > - Build tmux against libevent 2 and set EVENT_NOEPOLL=1 in the
> >   environment before starting it. (libevent 1.4 has a another bug which
> >   is worse, so only do this if you use libevent 2.)
> 
> > - Avoid redirecting to /dev/null. IIRC you can workaround it with
> >   for example tmux info|cat >/dev/null.
> 
> I report following:
> 
> 1) system: Archlinux x86_64,
>   gcc: 4.6.1,
>   kernel (uname -s -r -v):
>     Linux 2.6.39.1-zen-ARCH-00324-g6d6d304 #1 ZEN SMP PREEMPT Wed Jun 15 
> 14:45:20 IRKST 2011
>   tmux: compiled from svn (revno. 2588)
>   libevent: 2.0.12 and 2.0.13 (tried on two hosts)
> 
> 2) several sessions: 'tools', 'editors', 'vcs' on socket 'docs': tmux -2 -u 
> -L docs
> 
> 3) in terminal
>   $ tmux -2 -u -L docs has-session -t tools
>   $
>   $ tmux -2 -u -L docs has-session -t tool
>   $
>   $ tmux -2 -u -L docs has-session -t tooll
>   session not found: tooll
>   $ tmux -2 -u -L docs has-session -t tools 2> /dev/null
>   $
>   $ tmux -2 -u -L docs has-session -t tooll 2> /dev/null
> 
>   ... hanging, have to kill terminal and start new one
>   $ export EVENT_NOEPOLL=1
>   $ tmux -2 -u -L docs has-session -t tools
>   $
>   $ tmux -2 -u -L docs has-session -t tooll
>   session not found: tooll
>   $ tmux -2 -u -L docs has-session -t tools 2> /dev/null
>   $ tmux -2 -u -L docs has-session -t tooll 2> /dev/null
> 
>   ... hanging
> 
> So, if I'm right, only second solution is working and libevent2
> [completely] broken in that respect.
> 
> P.S. Why 'has-session -t tool' works? Is `target-session' (from man page) a
> pattern and the exact name?
> 
> ---
> WBR, Vladimir Lomov.
> 
> -- 
> I stayed up all night playing poker with tarot cards.  I got a full
> house and four people died.
>               -- Steven Wright
> 
> ------------------------------------------------------------------------------
> EMC VNX: the world's simplest storage, starting under $10K
> The only unified storage solution that offers unified management 
> Up to 160% more powerful than alternatives and 25% more efficient. 
> Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
> _______________________________________________
> tmux-users mailing list
> tmux-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tmux-users

------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management 
Up to 160% more powerful than alternatives and 25% more efficient. 
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to