shared: Fix to release channel resources when sensor_listener is released 19/319519/1 accepted/tizen_7.0_unified tizen_7.0 accepted/tizen/7.0/unified/20250214.180514
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:58:34 +0000 (16:58 +0900)
commit6feb22c03265e868767827fc6d444769612b202a
tree1bb07d78c8ba099c6d2e745c9defbafc58fc998b
parentb28b49036e1e6ec91e88a0e728eb66db36bb56f8
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