add TBM_QUEUE_TRACE for debugging 86/62586/2 accepted/tizen/common/20160321.145947 accepted/tizen/ivi/20160321.005342 accepted/tizen/mobile/20160321.005250 accepted/tizen/tv/20160321.005307 accepted/tizen/wearable/20160321.005327 submit/tizen/20160320.044251
authorSooChan Lim <sc1.lim@samsung.com>
Wed, 16 Mar 2016 04:56:17 +0000 (13:56 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Thu, 17 Mar 2016 01:10:55 +0000 (18:10 -0700)
Change-Id: I4ff8099ef30e42dab3bc21c42d9102f126524267

src/tbm_surface_queue.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 2b597f6..7210173
@@ -39,11 +39,11 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define DEBUG 0
 
 #if DEBUG
-#define TBM_TRACE() TBM_LOG("[TRACE] %s:%d surface:%p\n", __func__, __LINE__, surface_queue)
+#define TBM_QUEUE_TRACE() TBM_LOG("[QUEUE_TRACE] %s:%d surface_queue:%p\n", __func__, __LINE__, surface_queue)
 #define TBM_LOCK() TBM_LOG("[LOCK] %s:%d surface:%p\n", __func__, __LINE__, surface_queue)
 #define TBM_UNLOCK() TBM_LOG("[UNLOCK] %s:%d surface:%p\n", __func__, __LINE__, surface_queue)
 #else
-#define TBM_TRACE()
+#define TBM_QUEUE_TRACE()
 #define TBM_LOCK()
 #define TBM_UNLOCK()
 #endif
@@ -441,6 +441,8 @@ tbm_surface_queue_set_destroy_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        surface_queue->destroy_cb = destroy_cb;
        surface_queue->destroy_cb_data = data;
 
@@ -459,6 +461,8 @@ tbm_surface_queue_add_destroy_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        _notify_add(&surface_queue->destory_noti, destroy_cb, data);
 
        pthread_mutex_unlock(&surface_queue->lock);
@@ -476,6 +480,8 @@ tbm_surface_queue_remove_destroy_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        _notify_remove(&surface_queue->destory_noti, destroy_cb, data);
 
        pthread_mutex_unlock(&surface_queue->lock);
@@ -493,6 +499,8 @@ tbm_surface_queue_set_dequeuable_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        surface_queue->dequeuable_cb = dequeuable_cb;
        surface_queue->dequeuable_cb_data = data;
 
@@ -511,6 +519,8 @@ tbm_surface_queue_add_dequeuable_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        _notify_add(&surface_queue->dequeuable_noti, dequeuable_cb, data);
 
        pthread_mutex_unlock(&surface_queue->lock);
@@ -528,6 +538,8 @@ tbm_surface_queue_remove_dequeuable_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        _notify_remove(&surface_queue->dequeuable_noti, dequeuable_cb, data);
 
        pthread_mutex_unlock(&surface_queue->lock);
@@ -545,6 +557,8 @@ tbm_surface_queue_set_acquirable_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        surface_queue->acquirable_cb = acquirable_cb;
        surface_queue->acquirable_cb_data = data;
 
@@ -563,6 +577,8 @@ tbm_surface_queue_add_acquirable_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        _notify_add(&surface_queue->acquirable_noti, acquirable_cb, data);
 
        pthread_mutex_unlock(&surface_queue->lock);
@@ -580,6 +596,8 @@ tbm_surface_queue_remove_acquirable_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        _notify_remove(&surface_queue->acquirable_noti, acquirable_cb, data);
 
        pthread_mutex_unlock(&surface_queue->lock);
@@ -599,6 +617,8 @@ tbm_surface_queue_set_alloc_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        surface_queue->alloc_cb = alloc_cb;
        surface_queue->free_cb = free_cb;
        surface_queue->alloc_cb_data = data;
@@ -613,24 +633,40 @@ tbm_surface_queue_get_width(tbm_surface_queue_h surface_queue)
 {
        TBM_RETURN_VAL_IF_FAIL(surface_queue != NULL, 0);
 
+       TBM_QUEUE_TRACE();
+
+       TBM_RETURN_VAL_IF_FAIL(surface_queue != NULL, 0);
+
        return surface_queue->width;
 }
 
 int
 tbm_surface_queue_get_height(tbm_surface_queue_h surface_queue)
 {
+       TBM_RETURN_VAL_IF_FAIL(surface_queue != NULL, 0);
+
+       TBM_QUEUE_TRACE();
+
        return surface_queue->height;
 }
 
 int
 tbm_surface_queue_get_format(tbm_surface_queue_h surface_queue)
 {
+       TBM_RETURN_VAL_IF_FAIL(surface_queue != NULL, 0);
+
+       TBM_QUEUE_TRACE();
+
        return surface_queue->format;
 }
 
 int
 tbm_surface_queue_get_size(tbm_surface_queue_h surface_queue)
 {
+       TBM_RETURN_VAL_IF_FAIL(surface_queue != NULL, 0);
+
+       TBM_QUEUE_TRACE();
+
        return surface_queue->queue_size;
 }
 
@@ -644,6 +680,8 @@ tbm_surface_queue_set_reset_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        surface_queue->reset_cb = reset_cb;
        surface_queue->reset_cb_data = data;
 
@@ -662,6 +700,8 @@ tbm_surface_queue_add_reset_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        _notify_add(&surface_queue->acquirable_noti, reset_cb, data);
 
        pthread_mutex_unlock(&surface_queue->lock);
@@ -679,6 +719,8 @@ tbm_surface_queue_remove_reset_cb(
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        _notify_remove(&surface_queue->acquirable_noti, reset_cb, data);
 
        pthread_mutex_unlock(&surface_queue->lock);
@@ -700,6 +742,8 @@ tbm_surface_queue_enqueue(tbm_surface_queue_h
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        node = _queue_get_node(surface_queue, 0, surface, &queue_type);
        if (node == NULL || queue_type != NODE_LIST) {
                TBM_LOG("tbm_surface_queue_enqueue::Surface exist in free_queue or dirty_queue node:%p, queue:%d\n",
@@ -741,6 +785,8 @@ tbm_surface_queue_dequeue(tbm_surface_queue_h
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        if (surface_queue->impl && surface_queue->impl->dequeue)
                node = surface_queue->impl->dequeue(surface_queue);
        else
@@ -773,6 +819,8 @@ tbm_surface_queue_can_dequeue(tbm_surface_queue_h surface_queue, int wait)
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        if (_queue_is_empty(&surface_queue->free_queue)) {
                if (surface_queue->impl && surface_queue->impl->need_attach)
                        surface_queue->impl->need_attach(surface_queue);
@@ -808,6 +856,8 @@ tbm_surface_queue_release(tbm_surface_queue_h
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        node = _queue_get_node(surface_queue, 0, surface, &queue_type);
        if (node == NULL || queue_type != NODE_LIST) {
                TBM_LOG("tbm_surface_queue_release::Surface exist in free_queue or dirty_queue node:%p, queue:%d\n",
@@ -849,6 +899,8 @@ tbm_surface_queue_acquire(tbm_surface_queue_h
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        if (surface_queue->impl && surface_queue->impl->acquire)
                node = surface_queue->impl->acquire(surface_queue);
        else
@@ -881,6 +933,8 @@ tbm_surface_queue_can_acquire(tbm_surface_queue_h surface_queue, int wait)
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        if (_queue_is_empty(&surface_queue->dirty_queue)) {
                if (wait) {
                        pthread_cond_wait(&surface_queue->dirty_cond, &surface_queue->lock);
@@ -904,6 +958,8 @@ tbm_surface_queue_destroy(tbm_surface_queue_h surface_queue)
 
        TBM_RETURN_IF_FAIL(surface_queue != NULL);
 
+       TBM_QUEUE_TRACE();
+
        if (surface_queue->destroy_cb)
                surface_queue->destroy_cb(surface_queue, surface_queue->destroy_cb_data);
 
@@ -932,6 +988,8 @@ tbm_surface_queue_reset(tbm_surface_queue_h
        TBM_RETURN_VAL_IF_FAIL(surface_queue != NULL,
                               TBM_SURFACE_QUEUE_ERROR_INVALID_QUEUE);
 
+       TBM_QUEUE_TRACE();
+
        queue_node *node = NULL, *tmp = NULL;
 
        if (width == surface_queue->width && height == surface_queue->height &&
@@ -977,6 +1035,8 @@ tbm_surface_queue_flush(tbm_surface_queue_h surface_queue)
 
        pthread_mutex_lock(&surface_queue->lock);
 
+       TBM_QUEUE_TRACE();
+
        /* Destory surface and Push to free_queue */
        LIST_FOR_EACH_ENTRY_SAFE(node, tmp, &surface_queue->list, link) {
                _queue_delete_node(surface_queue, node);
@@ -1078,6 +1138,8 @@ tbm_surface_queue_create(int queue_size, int width,
                                            sizeof(struct _tbm_surface_queue));
        TBM_RETURN_VAL_IF_FAIL(surface_queue != NULL, NULL);
 
+       TBM_QUEUE_TRACE();
+
        tbm_queue_default *data = (tbm_queue_default *) calloc(1,
                                  sizeof(tbm_queue_default));
        if (data == NULL) {
@@ -1210,6 +1272,8 @@ tbm_surface_queue_sequence_create(int queue_size, int width,
                                            sizeof(struct _tbm_surface_queue));
        TBM_RETURN_VAL_IF_FAIL(surface_queue != NULL, NULL);
 
+       TBM_QUEUE_TRACE();
+
        tbm_queue_sequence *data = (tbm_queue_sequence *) calloc(1,
                                   sizeof(tbm_queue_sequence));
        if (data == NULL) {