provide a sort of mutex lock around db logging so it can't possibly recurse. Previous attempts to do something similar using other methods haven't worked out satisfactorily.

This commit is contained in:
redmatrix
2016-05-31 16:16:54 -07:00
parent 701acf59e2
commit 00b4843425
2 changed files with 18 additions and 10 deletions

View File

@@ -300,15 +300,18 @@ function call_hooks($name, &$data = null) {
$func($data);
else
$func($a, $data);
} else {
// The hook should be removed so we don't process it.
// But not until everybody gets through a timing issue
// related to git pull and update_r1169
// q("DELETE FROM hook WHERE hook = '%s' AND file = '%s' AND fn = '%s'",
// dbesc($name),
// dbesc($hook[0]),
// dbesc($origfn)
// );
}
else {
// Don't do any DB write calls if we're currently logging a possibly failed DB call.
if(! DBA::$logging) {
// The hook should be removed so we don't process it.
q("DELETE FROM hook WHERE hook = '%s' AND file = '%s' AND fn = '%s'",
dbesc($name),
dbesc($hook[0]),
dbesc($origfn)
);
}
}
}
}