From 2f813ef75d7d1cfb32d78923ae6963be7266de55 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sun, 1 Nov 2009 23:20:37 +0000 Subject: Add a flag for jobs that shouldn't be freed after they've died and use it for status jobs, then only kill those jobs when status-left, status-right or set-titles-string is changed. Fixes problems with changing options from inside #(). --- tmux.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 41ace3a8..73ac9803 100644 --- a/tmux.h +++ b/tmux.h @@ -669,6 +669,7 @@ struct job { int flags; #define JOB_DONE 0x1 +#define JOB_PERSIST 0x2 /* don't free after callback */ RB_ENTRY(job) entry; SLIST_ENTRY(job) lentry; @@ -1301,8 +1302,9 @@ RB_PROTOTYPE(jobs, job, entry, job_cmp); void job_tree_init(struct jobs *); void job_tree_free(struct jobs *); struct job *job_get(struct jobs *, const char *); -struct job *job_add(struct jobs *, struct client *, +struct job *job_add(struct jobs *, int, struct client *, const char *, void (*)(struct job *), void (*)(void *), void *); +void job_remove(struct jobs *, struct job *); void job_free(struct job *); int job_run(struct job *); void job_kill(struct job *); -- cgit