Go to file
Tiago Cunha 83f5581da4 Sync OpenBSD patchset 313:
Fix a race condition when asking a client to take over the terminal (switching
to a different poll loop):

If a MSG_READY was followed very quickly by a MSG_EXIT (for example if doing
"tmux new 'exit'"), both messages could be read as part of the same imsg_read
in the first client poll loop. The MSG_READY would then cause a switch to the
second client loop, which would immediately call poll(2) again, causing the
client to hang forever waiting for an exit message that it already had.

Change to call imsg_get to process any existing messages before polling.
2009-09-03 21:06:30 +00:00
compat Add $Id$, nuke queue.h. 2009-08-20 12:54:08 +00:00
examples Update. 2009-09-02 01:06:30 +00:00
tools Comment FDEBUG and bump dist version. 2009-07-01 22:10:06 +00:00
www +IRC channel. 2009-08-05 16:39:28 +00:00
CHANGES Try to make a bit more sense here. 2009-07-01 22:15:16 +00:00
FAQ Fix typo and add ref to infocmp. 2009-08-08 20:46:26 +00:00
GNUmakefile FreeBSD and NetBSD HAVE got ttydefaults.h. Fixes SF bug 2844744. 2009-08-26 08:58:39 +00:00
Makefile FreeBSD and NetBSD HAVE got ttydefaults.h. Fixes SF bug 2844744. 2009-08-26 08:58:39 +00:00
NOTES This is not really important or major. 2009-07-06 18:53:24 +00:00
TODO Update. 2009-09-02 19:33:47 +00:00
array.h UINT_MAX. 2008-09-29 16:58:02 +00:00
attributes.c Sync to OpenBSD: fixes from ray@. 2009-06-25 15:25:45 +00:00
buffer-poll.c Make this match OpenBSD. 2009-08-19 09:28:10 +00:00
buffer.c Sync OpenBSD patchset 282: 2009-08-21 21:09:13 +00:00
cfg.c Sync OpenBSD patchset 290: 2009-08-24 16:27:03 +00:00
client-fn.c Sync OpenBSD patchset 243: 2009-08-14 21:04:04 +00:00
client.c Sync OpenBSD patchset 313: 2009-09-03 21:06:30 +00:00
clock.c Sync OpenBSD patchset 298: 2009-08-26 22:12:21 +00:00
cmd-attach-session.c Sync OpenBSD patchset 231: 2009-08-09 17:48:55 +00:00
cmd-bind-key.c Sync OpenBSD patchset 194: 2009-07-28 23:19:06 +00:00
cmd-break-pane.c Sync OpenBSD patchset 257: 2009-08-16 19:16:27 +00:00
cmd-choose-client.c Include <ctype.h>. 2009-08-25 13:55:29 +00:00
cmd-choose-session.c Include <ctype.h>. 2009-08-25 13:55:29 +00:00
cmd-choose-window.c Include <ctype.h>. 2009-08-25 13:55:29 +00:00
cmd-clear-history.c Sync OpenBSD patchset 205: 2009-07-30 21:04:40 +00:00
cmd-clock-mode.c Sync OpenBSD patchset 271: 2009-08-20 11:37:46 +00:00
cmd-command-prompt.c Sync OpenBSD patchset 294: 2009-08-25 13:53:39 +00:00
cmd-confirm-before.c Sync OpenBSD patchset 289: 2009-08-24 16:24:18 +00:00
cmd-copy-buffer.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-copy-mode.c Sync OpenBSD patchset 271: 2009-08-20 11:37:46 +00:00
cmd-delete-buffer.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-detach-client.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-display-message.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-display-panes.c Sync OpenBSD patchset 302: 2009-08-31 22:30:15 +00:00
cmd-down-pane.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-find-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-generic.c Sync OpenBSD patchset 299: 2009-08-26 22:13:52 +00:00
cmd-has-session.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-if-shell.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-kill-pane.c Sync OpenBSD patchset 200: 2009-07-30 20:45:20 +00:00
cmd-kill-server.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-kill-session.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-kill-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-last-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-link-window.c Sync OpenBSD patchset 257: 2009-08-16 19:16:27 +00:00
cmd-list-buffers.c Do not include vis.h directly, since it's OS-dependent, due to OpenBSD 2009-08-20 11:33:13 +00:00
cmd-list-clients.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-list-commands.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-list-keys.c Sync OpenBSD patchset 194: 2009-07-28 23:19:06 +00:00
cmd-list-sessions.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-list-windows.c Sync OpenBSD patchset 226: 2009-08-09 17:28:24 +00:00
cmd-list.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-load-buffer.c Sync OpenBSD patchset 206: 2009-07-30 21:07:23 +00:00
cmd-lock-server.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-move-window.c Sync OpenBSD patchset 257: 2009-08-16 19:16:27 +00:00
cmd-new-session.c ttydefchars is a fucking horlicks. Happily we only need it in one file, move it 2009-08-26 09:10:47 +00:00
cmd-new-window.c Sync OpenBSD patchset 257: 2009-08-16 19:16:27 +00:00
cmd-next-layout.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-next-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-paste-buffer.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-previous-layout.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-previous-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-refresh-client.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-rename-session.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-rename-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-resize-pane.c Sync OpenBSD patchset 200: 2009-07-30 20:45:20 +00:00
cmd-respawn-window.c Sync OpenBSD patchset 305: 2009-09-02 01:02:44 +00:00
cmd-rotate-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-save-buffer.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-scroll-mode.c Sync OpenBSD patchset 271: 2009-08-20 11:37:46 +00:00
cmd-select-layout.c Sync OpenBSD patchset 191: 2009-07-28 23:04:29 +00:00
cmd-select-pane.c Sync OpenBSD patchset 200: 2009-07-30 20:45:20 +00:00
cmd-select-prompt.c Sync OpenBSD patchset 261: 2009-08-16 19:29:24 +00:00
cmd-select-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-send-keys.c Sync OpenBSD patchset 271: 2009-08-20 11:37:46 +00:00
cmd-send-prefix.c Sync OpenBSD patchset 271: 2009-08-20 11:37:46 +00:00
cmd-server-info.c Sync OpenBSD patchset 309: 2009-09-03 21:02:55 +00:00
cmd-set-buffer.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-set-environment.c Sync from OpenBSD: 2009-08-11 14:42:59 +00:00
cmd-set-option.c Sync OpenBSD patchset 305: 2009-09-02 01:02:44 +00:00
cmd-set-password.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-set-window-option.c Sync from OpenBSD: 2009-08-11 14:42:59 +00:00
cmd-show-buffer.c Sync OpenBSD patchset 270: 2009-08-20 11:35:16 +00:00
cmd-show-environment.c Sync OpenBSD patchset 231: 2009-08-09 17:48:55 +00:00
cmd-show-options.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-show-window-options.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-source-file.c Sync OpenBSD patchset 290: 2009-08-24 16:27:03 +00:00
cmd-split-window.c Adjust OpenBSD patchset 305 to the portable version. 2009-09-02 01:05:55 +00:00
cmd-start-server.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-string.c Sync OpenBSD patchset 231: 2009-08-09 17:48:55 +00:00
cmd-suspend-client.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-swap-pane.c Sync OpenBSD patchset 205: 2009-07-30 21:04:40 +00:00
cmd-swap-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-switch-client.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-unbind-key.c Sync OpenBSD patchset 194: 2009-07-28 23:19:06 +00:00
cmd-unlink-window.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd-up-pane.c Sync OpenBSD patchset 181: 2009-07-28 22:12:16 +00:00
cmd.c Sync OpenBSD patchset 302: 2009-08-31 22:30:15 +00:00
colour.c chmod +x configure 2009-05-18 15:42:30 +00:00
compat.h - Make it compile on operating systems other than BSD due to OpenBSD patchset 2009-09-03 20:54:39 +00:00
configure - Make it compile on operating systems other than BSD due to OpenBSD patchset 2009-09-03 20:54:39 +00:00
environ.c Sync OpenBSD patchset 235: 2009-08-09 17:57:39 +00:00
grid-view.c Support "alternate screen" mode (terminfo smcup/rmcup) typically used by full 2009-07-14 06:40:33 +00:00
grid.c Sync OpenBSD patchset 283: 2009-08-21 21:10:37 +00:00
input-keys.c Sync OpenBSD patchset 184: 2009-07-28 22:37:02 +00:00
input.c Sync OpenBSD patchset 281: 2009-08-21 21:07:20 +00:00
key-bindings.c Sync OpenBSD patchset 302: 2009-08-31 22:30:15 +00:00
key-string.c Sync OpenBSD patchset 193: 2009-07-28 23:13:00 +00:00
layout-set.c Sync OpenBSD patchset 191: 2009-07-28 23:04:29 +00:00
layout.c Sync OpenBSD patchset 142: 2009-07-20 15:42:05 +00:00
log.c Sync OpenBSD patchset 153: 2009-07-22 17:31:20 +00:00
mode-key.c Sync OpenBSD patchset 307: 2009-09-02 22:45:17 +00:00
names.c Sync OpenBSD patchset 305: 2009-09-02 01:02:44 +00:00
options-cmd.c Sync OpenBSD patchset 219: 2009-08-09 16:48:34 +00:00
options.c Sync OpenBSD patchset 155: 2009-07-22 17:46:53 +00:00
osdep-darwin.c Space trimmage mega-diff. 2009-05-04 17:58:27 +00:00
osdep-freebsd.c Nuke dead variable here as well, in accordance to OpenBSD patchset 235. 2009-08-09 18:00:45 +00:00
osdep-linux.c Apply the make magic wand to pick an osdep-*.c file rather than using ifdefs. 2009-04-29 23:07:35 +00:00
osdep-netbsd.c Nuke dead variable here as well, in accordance to OpenBSD patchset 235. 2009-08-09 18:00:45 +00:00
osdep-openbsd.c Sync OpenBSD patchset 235: 2009-08-09 17:57:39 +00:00
osdep-unknown.c Apply the make magic wand to pick an osdep-*.c file rather than using ifdefs. 2009-04-29 23:07:35 +00:00
paste.c Sync OpenBSD patchset 208: 2009-07-31 20:33:49 +00:00
resize.c Sync OpenBSD patchset 142: 2009-07-20 15:42:05 +00:00
screen-redraw.c Sync OpenBSD patchset 302: 2009-08-31 22:30:15 +00:00
screen-write.c Sync OpenBSD patchset 285: 2009-08-21 21:13:20 +00:00
screen.c Sync OpenBSD patchset 226: 2009-08-09 17:28:24 +00:00
server-fn.c - Make it compile on operating systems other than BSD due to OpenBSD patchset 2009-09-03 20:54:39 +00:00
server-msg.c Sync OpenBSD patchset 308: 2009-09-03 20:44:38 +00:00
server.c When shutting down the server, expect clients to be polite and exit when asked 2009-09-02 21:36:00 +00:00
session.c Adjust OpenBSD patchset 305 to the portable version. 2009-09-02 01:05:55 +00:00
status.c Sync OpenBSD patchset 307: 2009-09-02 22:45:17 +00:00
tmux.1 Sync OpenBSD patchset 309: 2009-09-03 21:02:55 +00:00
tmux.c Sync OpenBSD patchset 309: 2009-09-03 21:02:55 +00:00
tmux.h Sync OpenBSD patchset 309: 2009-09-03 21:02:55 +00:00
tty-keys.c Sync OpenBSD patchset 184: 2009-07-28 22:37:02 +00:00
tty-term.c Check the return value of strunvis against -1 not NULL. 2009-08-23 11:50:39 +00:00
tty.c Sync OpenBSD patchset 302: 2009-08-31 22:30:15 +00:00
utf8.c Restore $Id$ and add script to do so. 2009-06-25 16:21:32 +00:00
window-choose.c Sync OpenBSD patchset 220: 2009-08-09 16:50:57 +00:00
window-clock.c $Id$. 2009-07-01 19:03:34 +00:00
window-copy.c Sync OpenBSD patchset 284: 2009-08-21 21:12:07 +00:00
window-more.c Sync OpenBSD patchset 267: 2009-08-20 11:24:33 +00:00
window-scroll.c Sync OpenBSD patchset 260: 2009-08-16 19:26:49 +00:00
window.c Sync OpenBSD patchset 306: 2009-09-02 01:08:32 +00:00
xmalloc.c More diff-to-OpenBSD reduction. Move a lot of compat stuff into compat.h. 2009-06-25 16:47:00 +00:00