tizenwlsink: Fix coverity issue (MISSING_LOCK)
[platform/upstream/gst-plugins-tizen.git] / tizenwlsink / src / wldisplay.c
index 892a62d..15f8a99 100644 (file)
@@ -364,6 +364,7 @@ gst_wl_display_thread_run (gpointer data)
 {
   GstWlDisplay *self = data;
   GstPollFD pollfd = GST_POLL_FD_INIT;
+  char str_error[255] = {0, };
   FUNCTION;
 
   pollfd.fd = wl_display_get_fd (self->display);
@@ -393,7 +394,8 @@ gst_wl_display_thread_run (gpointer data)
         goto error;
     } else {
       GST_INFO ("wl_display_read_events (display@%p)", self->display);
-      wl_display_read_events (self->display);
+      if (wl_display_read_events (self->display) < 0)
+        GST_ERROR ("wl_display_read_events failed : %s", strerror_r (errno, str_error, sizeof(str_error)));
       GST_INFO ("wl_display_dispatch_queue_pending (display@%p, queue@%p)",
           self->display, self->queue);
       wl_display_dispatch_queue_pending (self->display, self->queue);
@@ -515,13 +517,13 @@ gst_wl_display_register_buffer (GstWlDisplay * self, gpointer gstmem,
     gpointer wlbuffer)
 {
   FUNCTION;
-  g_assert (!self->shutting_down);
 
   GST_TRACE_OBJECT (self, "registering GstWlBuffer %p to GstMem %p",
       wlbuffer, gstmem);
 
   g_mutex_lock (&self->buffers_mutex);
-  g_hash_table_replace (self->buffers, gstmem, wlbuffer);
+  if (G_LIKELY (!self->shutting_down))
+    g_hash_table_replace (self->buffers, gstmem, wlbuffer);
   g_mutex_unlock (&self->buffers_mutex);
 }