unlock global mutex lock of surface_queue when call alloc cb in default queue 39/90639/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 28 Sep 2016 08:59:21 +0000 (17:59 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 4 Oct 2016 04:35:49 +0000 (21:35 -0700)
Change-Id: I41d59af74d23fc7c017e46cf61d0961b67f5a58a

src/tbm_surface_queue.c

index 41e8f71..86fd751 100644 (file)
@@ -1382,9 +1382,13 @@ __tbm_queue_default_need_attach(tbm_surface_queue_h surface_queue)
                return;
 
        if (surface_queue->alloc_cb) {
-
+               _tbm_surf_queue_mutex_unlock();
                surface = surface_queue->alloc_cb(surface_queue, surface_queue->alloc_cb_data);
-               TBM_RETURN_IF_FAIL(surface != NULL);
+               _tbm_surf_queue_mutex_lock();
+
+               if (!surface)
+                       return;
+
                tbm_surface_internal_ref(surface);
        } else {
                surface = tbm_surface_internal_create_with_flags(surface_queue->width,