diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2009-11-01 23:20:37 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2009-11-01 23:20:37 +0000 |
commit | 2f813ef75d7d1cfb32d78923ae6963be7266de55 (patch) | |
tree | fed2d2ac2f0b98903eea186a19f2444a8ee99452 /server-job.c | |
parent | 32299e401039e9c88e430516e9d85d59d551b859 (diff) | |
download | rtmux-2f813ef75d7d1cfb32d78923ae6963be7266de55.tar.gz rtmux-2f813ef75d7d1cfb32d78923ae6963be7266de55.tar.bz2 rtmux-2f813ef75d7d1cfb32d78923ae6963be7266de55.zip |
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 #().
Diffstat (limited to 'server-job.c')
-rw-r--r-- | server-job.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/server-job.c b/server-job.c index 5a703b7b..6ff15860 100644 --- a/server-job.c +++ b/server-job.c @@ -64,7 +64,10 @@ restart: if (job->callbackfn != NULL) { job->callbackfn(job); - goto restart; /* could be freed by callback */ + if ((!job->flags & JOB_PERSIST)) { + job_free(job); + goto restart; + } } } } |