From 701acf59e2b2264f7afec9fdfab4d554193fd0b3 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 31 May 2016 13:22:47 -0700 Subject: don't remove missing hooks while update_r1169 is happpening - temp fix --- include/plugin.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'include/plugin.php') diff --git a/include/plugin.php b/include/plugin.php index 5dbfc218a..96ae0e543 100755 --- a/include/plugin.php +++ b/include/plugin.php @@ -301,11 +301,14 @@ function call_hooks($name, &$data = null) { else $func($a, $data); } else { - q("DELETE FROM hook WHERE hook = '%s' AND file = '%s' AND fn = '%s'", - dbesc($name), - dbesc($hook[0]), - dbesc($origfn) - ); + // 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) + // ); } } } -- cgit v1.2.3 From 00b4843425371e4ff55c82be577a279e248c29fc Mon Sep 17 00:00:00 2001 From: redmatrix Date: Tue, 31 May 2016 16:16:54 -0700 Subject: 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. --- include/plugin.php | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'include/plugin.php') diff --git a/include/plugin.php b/include/plugin.php index 96ae0e543..be4e92f03 100755 --- a/include/plugin.php +++ b/include/plugin.php @@ -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) + ); + } } } } -- cgit v1.2.3