Use an explicit job state instead of avoid closing our side of the
socketpair and setting it to -1 to mark when the other side is
closed. This avoids closing it while the libevent bufferevent still has
it (it could try to add it to the polled set which some mechanisms don't
like). Fixes part a problem reported by Bruno Sutic.
2 files changed
tree: 2716f2d6a0a572603511d239420a34919904b54f
  1. Makefile
  2. arguments.c
  3. array.h
  4. attributes.c
  5. cfg.c
  6. client.c
  7. cmd-attach-session.c
  8. cmd-bind-key.c
  9. cmd-break-pane.c
  10. cmd-capture-pane.c
  11. cmd-choose-buffer.c
  12. cmd-choose-client.c
  13. cmd-choose-tree.c
  14. cmd-clear-history.c
  15. cmd-command-prompt.c
  16. cmd-confirm-before.c
  17. cmd-copy-mode.c
  18. cmd-delete-buffer.c
  19. cmd-detach-client.c
  20. cmd-display-message.c
  21. cmd-display-panes.c
  22. cmd-find-window.c
  23. cmd-find.c
  24. cmd-has-session.c
  25. cmd-if-shell.c
  26. cmd-join-pane.c
  27. cmd-kill-pane.c
  28. cmd-kill-server.c
  29. cmd-kill-session.c
  30. cmd-kill-window.c
  31. cmd-list-buffers.c
  32. cmd-list-clients.c
  33. cmd-list-keys.c
  34. cmd-list-panes.c
  35. cmd-list-sessions.c
  36. cmd-list-windows.c
  37. cmd-list.c
  38. cmd-load-buffer.c
  39. cmd-lock-server.c
  40. cmd-move-window.c
  41. cmd-new-session.c
  42. cmd-new-window.c
  43. cmd-paste-buffer.c
  44. cmd-pipe-pane.c
  45. cmd-queue.c
  46. cmd-refresh-client.c
  47. cmd-rename-session.c
  48. cmd-rename-window.c
  49. cmd-resize-pane.c
  50. cmd-respawn-pane.c
  51. cmd-respawn-window.c
  52. cmd-rotate-window.c
  53. cmd-run-shell.c
  54. cmd-save-buffer.c
  55. cmd-select-layout.c
  56. cmd-select-pane.c
  57. cmd-select-window.c
  58. cmd-send-keys.c
  59. cmd-send-prefix.c
  60. cmd-set-buffer.c
  61. cmd-set-environment.c
  62. cmd-set-option.c
  63. cmd-show-buffer.c
  64. cmd-show-environment.c
  65. cmd-show-messages.c
  66. cmd-show-options.c
  67. cmd-source-file.c
  68. cmd-split-window.c
  69. cmd-string.c
  70. cmd-swap-pane.c
  71. cmd-swap-window.c
  72. cmd-switch-client.c
  73. cmd-unbind-key.c
  74. cmd-wait-for.c
  75. cmd.c
  76. colour.c
  77. control-notify.c
  78. control.c
  79. environ.c
  80. format.c
  81. grid-cell.c
  82. grid-view.c
  83. grid.c
  84. input-keys.c
  85. input.c
  86. job.c
  87. key-bindings.c
  88. key-string.c
  89. layout-custom.c
  90. layout-set.c
  91. layout.c
  92. log.c
  93. mode-key.c
  94. names.c
  95. notify.c
  96. options-table.c
  97. options.c
  98. paste.c
  99. procname.c
  100. resize.c
  101. screen-redraw.c
  102. screen-write.c
  103. screen.c
  104. server-client.c
  105. server-fn.c
  106. server-window.c
  107. server.c
  108. session.c
  109. signal.c
  110. status.c
  111. style.c
  112. tmux.1
  113. tmux.c
  114. tmux.h
  115. tty-acs.c
  116. tty-keys.c
  117. tty-term.c
  118. tty.c
  119. utf8.c
  120. window-choose.c
  121. window-clock.c
  122. window-copy.c
  123. window.c
  124. xmalloc.c
  125. xterm-keys.c