Hi,

In my configuration (with remain-on-exit set to on), tmux 1.2
crashes every time I terminate the subprocess living in the last
window of a given session (e.g. with ^D in a shell).

The reason is that window_pane_error_callback() and
server_child_exited() both call server_destroy_pane() on the same
window pane, resulting in bufferevent_free() being used twice on the
same pointer.

The following patch (against tmux 1.2) avoids the problem:

--- a/server-fn.c
+++ b/server-fn.c
@@ -334,9 +334,11 @@
 {
        struct window   *w = wp->window;
 
-       close(wp->fd);
-       bufferevent_free(wp->event);
-       wp->fd = -1;
+       if (wp->fd != -1) {
+               close(wp->fd);
+               bufferevent_free(wp->event);
+               wp->fd = -1;
+       }
 
        if (options_get_number(&w->options, "remain-on-exit"))
                return;

Thanks,
-- 
Romain Francoise <rfranco...@debian.org>
http://people.debian.org/~rfrancoise/


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to