From 053e40572c32d021ad8bd2922c97c5e6dcbe2c81 Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Mon, 2 Nov 2009 21:38:27 +0000 Subject: Sync OpenBSD patchset 475: 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 #(). --- server-job.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'server-job.c') diff --git a/server-job.c b/server-job.c index 366ab2df..7417de96 100644 --- a/server-job.c +++ b/server-job.c @@ -1,4 +1,4 @@ -/* $Id: server-job.c,v 1.2 2009-10-28 23:14:15 tcunha Exp $ */ +/* $Id: server-job.c,v 1.3 2009-11-02 21:38:26 tcunha Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -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; + } } } } -- cgit