Projects
home:Eustace:branches:Eulaceura:Factory
python-slip
_service:obs_scm:huawei-fix-sender_seen-memory-...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:huawei-fix-sender_seen-memory-leak.patch of Package python-slip
From 48c8032695fedbd92bb24a2c2d4c3a4d83732409 Mon Sep 17 00:00:00 2001 From: zhuofeng <zhuofeng2@huawei.com> Date: Mon, 6 Mar 2023 15:19:06 +0800 Subject: [PATCH] fix sender_seen memory leak --- slip/dbus/service.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/slip/dbus/service.py b/slip/dbus/service.py index 5d276f8..bf4cb77 100644 --- a/slip/dbus/service.py +++ b/slip/dbus/service.py @@ -224,11 +224,12 @@ class Object(with_metaclass(InterfaceType, dbus.service.Object)): if not new_owner and (old_owner, conn) in Object.senders: Object.senders.remove((old_owner, conn)) Object.connections_senders[conn].remove(old_owner) + if old_owner in Object.connections_smobjs: + Object.connections_smobjs[old_owner].remove() + del Object.connections_smobjs[old_owner] if len(Object.connections_senders[conn]) == 0: - Object.connections_smobjs[conn].remove() del Object.connections_senders[conn] - del Object.connections_smobjs[conn] if not self.persistent and len(Object.senders) == 0 and \ Object.current_source is None: @@ -251,10 +252,10 @@ class Object(with_metaclass(InterfaceType, dbus.service.Object)): Object.senders.add((sender, self.connection)) if self.connection not in Object.connections_senders: Object.connections_senders[self.connection] = set() - Object.connections_smobjs[self.connection] = \ - self.connection.add_signal_receiver( - handler_function=self._name_owner_changed, - signal_name='NameOwnerChanged', - dbus_interface='org.freedesktop.DBus', - arg1=sender) + Object.connections_smobjs[sender] = \ + self.connection.add_signal_receiver( + handler_function=self._name_owner_changed, + signal_name='NameOwnerChanged', + dbus_interface='org.freedesktop.DBus', + arg1=sender) Object.connections_senders[self.connection].add(sender) -- 2.27.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2