shared: Fix to release channel resources when sensor_listener is released 99/319499/2 accepted/tizen/unified/20250224.161824 accepted/tizen/unified/x/20250226.020357
authorSangYoun Kwak <sy.kwak@samsung.com>
Wed, 12 Feb 2025 03:12:00 +0000 (12:12 +0900)
committerSangYoun Kwak <sy.kwak@samsung.com>
Wed, 12 Feb 2025 07:21:03 +0000 (16:21 +0900)
commitaca1c1e00ba8714a1e63376ec6717405e08a62cd
tree6369cea52f1cadf229e4bcc8be5315ab330a6472
parent2003744fcf5db01f67d3e3169e2dbb2a94875c61
shared: Fix to release channel resources when sensor_listener is released

In the event loop object, channel resources(class 'channel' and
'channel_handler') to be released are added to the queues through
functions: add_channel_release_queue, add_channel_handler_release_list
respectively.

Resources contained by these queues should be freed by function
g_io_handler but this function is called when channel receives a
event(GLib.IOCondition) and if no event is occured, resources are not
released. This may cause resources like socket fd, memory flooded, so
they should be released

To resolve this issue, a function is added to the event_loop class to
release resources contained by the queues and that function is called by
the sensor_listener when it is released.

Change-Id: I7eb1be520a6dd756a6cd2718ce15ec813973ecb0
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
src/client/sensor_listener.cpp
src/shared/event_loop.cpp
src/shared/event_loop.h