srt: Don't leak the connection_poll_id on close()
authorJan Schmidt <jan@centricular.com>
Sat, 23 May 2020 20:22:07 +0000 (06:22 +1000)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Sun, 24 May 2020 10:47:59 +0000 (10:47 +0000)
Attempting to reach an inactive SRT peer in caller mode
was leaking an fd every few seconds in the gst_srt_object_close()/open()
loop.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1293>

ext/srt/gstsrtobject.c

index bed7fc6..2328728 100644 (file)
@@ -1111,6 +1111,7 @@ gst_srt_object_close (GstSRTObject * srtobject)
   if (srtobject->listener_poll_id != SRT_ERROR) {
     srt_epoll_remove_usock (srtobject->listener_poll_id,
         srtobject->listener_sock);
+    srt_epoll_release (srtobject->listener_poll_id);
     srtobject->listener_poll_id = SRT_ERROR;
   }
   if (srtobject->thread) {