From 8290b137fac98366227158e5c49513fd4b16d6b4 Mon Sep 17 00:00:00 2001 From: Alexei Sorokin Date: Mon, 24 Aug 2020 15:43:14 +0300 Subject: [PATCH] [TwitterBridge][DAEMONS] Fix database connection clean-up --- plugins/TwitterBridge/daemons/synctwitterfriends.php | 12 ++++++++++-- .../TwitterBridge/daemons/twitterstatusfetcher.php | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/plugins/TwitterBridge/daemons/synctwitterfriends.php b/plugins/TwitterBridge/daemons/synctwitterfriends.php index 28cefc7fd7..6de47f303a 100755 --- a/plugins/TwitterBridge/daemons/synctwitterfriends.php +++ b/plugins/TwitterBridge/daemons/synctwitterfriends.php @@ -105,7 +105,11 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon $conn->disconnect(); global $_DB_DATAOBJECT; - unset($_DB_DATAOBJECT['CONNECTIONS']); + foreach ($_DB_DATAOBJECT['CONNECTIONS'] as $k => $v) { + if ($v === $conn) { + unset($_DB_DATAOBJECT['CONNECTIONS'][$k]); + } + } return $flinks; } @@ -129,7 +133,11 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon // XXX: Couldn't find a less brutal way to blow // away a cached connection global $_DB_DATAOBJECT; - unset($_DB_DATAOBJECT['CONNECTIONS']); + foreach ($_DB_DATAOBJECT['CONNECTIONS'] as $k => $v) { + if ($v === $conn) { + unset($_DB_DATAOBJECT['CONNECTIONS'][$k]); + } + } } public function fetchTwitterFriends(Foreign_link $flink) diff --git a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php index fab187c953..3eae3aa93c 100755 --- a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php +++ b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php @@ -128,7 +128,11 @@ class TwitterStatusFetcher extends ParallelizingDaemon unset($flink); $conn->disconnect(); - unset($_DB_DATAOBJECT['CONNECTIONS']); + foreach ($_DB_DATAOBJECT['CONNECTIONS'] as $k => $v) { + if ($v === $conn) { + unset($_DB_DATAOBJECT['CONNECTIONS'][$k]); + } + } return $flinks; } @@ -153,7 +157,11 @@ class TwitterStatusFetcher extends ParallelizingDaemon // XXX: Couldn't find a less brutal way to blow // away a cached connection global $_DB_DATAOBJECT; - unset($_DB_DATAOBJECT['CONNECTIONS']); + foreach ($_DB_DATAOBJECT['CONNECTIONS'] as $k => $v) { + if ($v === $conn) { + unset($_DB_DATAOBJECT['CONNECTIONS'][$k]); + } + } } public function getTimeline(Foreign_link $flink, $timelineUri = 'home_timeline')