=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/log.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- src/usr.bin/tmux/log.c 2017/02/04 23:42:53 1.24 +++ src/usr.bin/tmux/log.c 2017/06/04 08:25:57 1.25 @@ -1,4 +1,4 @@ -/* $OpenBSD: log.c,v 1.24 2017/02/04 23:42:53 nicm Exp $ */ +/* $OpenBSD: log.c,v 1.25 2017/06/04 08:25:57 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -62,18 +62,31 @@ if (log_level == 0) return; + log_close(); - if (log_file != NULL) - fclose(log_file); - xasprintf(&path, "tmux-%s-%ld.log", name, (long)getpid()); - log_file = fopen(path, "w"); + log_file = fopen(path, "a"); free(path); if (log_file == NULL) return; setvbuf(log_file, NULL, _IOLBF, 0); event_set_log_callback(log_event_cb); +} + +/* Toggle logging. */ +void +log_toggle(const char *name) +{ + if (log_level == 0) { + log_level = 1; + log_open(name); + log_debug("log opened"); + } else { + log_debug("log closed"); + log_level = 0; + log_close(); + } } /* Close logging. */