Fixed, thanks!
On Tue, Apr 10, 2018 at 04:31:38PM -0700, Ryan Freeman wrote:
> Hey,
>
> After upgrading OpenBSD 6.2 -> 6.3, a program I am building for $DAYJOB
> started malfunctioning.
>
> Basically, we use tmux to manage running sessions of this program, which
> does automated work on things with console ports.
>
> The session is started in a detached state with temp session name derived
> from a date(1) stamp (date +%s) plus a few random digits:
>
> $ tmux -S /var/someprog/default new-session -s tmp1234456789
>
> After the program is running, a command is executed by the running
> program to give it a proper session id, fetched from a database:
>
> exec /usr/bin/tmux -S /var/someprog/default rename-session $SESSIONID
>
> Tmux in OpenBSD 6.2 worked a-okay, tmux in 6.3 would return an error
> indicating no current client. This seems similar to here:
>
> https://marc.info/?l=openbsd-cvs=152183263526828=2
>
> I took a stab at fixing this in cmd-rename-session.c like was done
> for cmd-rename-window.c, and the rebuilt tmux seems happy renaming
> sessions from a program running within it again.
>
> OK? Flames? :-)
>
> -ryan
>
> Index: cmd-rename-session.c
> ===
> RCS file: /cvs/src/usr.bin/tmux/cmd-rename-session.c,v
> retrieving revision 1.27
> diff -u -p -r1.27 cmd-rename-session.c
> --- cmd-rename-session.c1 Mar 2018 12:53:08 - 1.27
> +++ cmd-rename-session.c10 Apr 2018 23:21:52 -
> @@ -47,7 +47,7 @@ static enum cmd_retval
> cmd_rename_session_exec(struct cmd *self, struct cmdq_item *item)
> {
> struct args *args = self->args;
> - struct client *c = cmd_find_client(item, NULL, 0);
> + struct client *c = cmd_find_client(item, NULL, 1);
> struct session *s = item->target.s;
> char*newname;
>