From 86740ab34b50190d8d6930565b23e8636518281f Mon Sep 17 00:00:00 2001 From: Max Romanov Date: Fri, 10 Aug 2018 19:27:13 +0300 Subject: Introducing app joint to accurate app release. For accurate app descriptor release, it is required to count the number of use counts. Use count increased when: - app linked to configuration app queue; - socket conf stores pointer to app; - request for start app process posted to router service thread; Application port has pointer to app, but it does not increase use count to avoid use count loop. Timer needs a pointer to nxt_timer_t which is stored in engine timers tree. nxt_timer_t now resides in nxt_app_joint_t and does not lock the application. Start process port RPC handlers is also linked to nxt_app_joint_t. App joint (nxt_app_joint_t) is a 'weak pointer': - single threaded; - use countable; - store pointer to nxt_app_t (which can be NULL); nxt_app_t has pointer to nxt_app_joint_t and update its pointer to app. --- test/test_python_application.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test') diff --git a/test/test_python_application.py b/test/test_python_application.py index 1cfc1e18..59857d75 100644 --- a/test/test_python_application.py +++ b/test/test_python_application.py @@ -195,8 +195,8 @@ class TestUnitPythonApplication(unit.TestUnitApplicationPython): self.assertEqual(resp, {}, 'reconfigure 2 keep-alive 3') - @unittest.expectedFailure def test_python_keepalive_reconfigure_3(self): + self.skip_alerts.append(r'sendmsg.+failed') self.load('empty') (resp, sock) = self.http(b"""GET / HTTP/1.1 -- cgit