evdi: changed pthread_mutex to qemu_mutex
authorJinhyung Choi <jinh0.choi@samsung.com>
Fri, 7 Aug 2015 13:08:05 +0000 (22:08 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Wed, 12 Aug 2015 05:51:13 +0000 (14:51 +0900)
Change-Id: If6423e9ceda8b1a9184aaaf3534cf6dae0639aa3
Signed-off-by: Jinhyung Choi <jinh0.choi@samsung.com>
tizen/src/hw/virtio/maru_virtio_evdi.c

index c87bc94a7cf88ac1df7070d76ecbc852b2d3e134..a2ef59f1e6cbe60dbb1744b610df9c8fe2c25e1c 100644 (file)
@@ -75,7 +75,7 @@ static QTAILQ_HEAD(EvdiMsgHead , EvdiBuf) evdi_in_queue =
     QTAILQ_HEAD_INITIALIZER(evdi_in_queue);
 
 
-static pthread_mutex_t recv_buf_mutex = PTHREAD_MUTEX_INITIALIZER;
+static QemuMutex recv_buf_mutex;
 
 bool send_to_evdi(const uint32_t route, char* data, const uint32_t len)
 {
@@ -107,11 +107,11 @@ bool send_to_evdi(const uint32_t route, char* data, const uint32_t len)
         _msg->info.use = size;
         _msg->info.index = count;
 
-        pthread_mutex_lock(&recv_buf_mutex);
+        qemu_mutex_lock(&recv_buf_mutex);
 
         QTAILQ_INSERT_TAIL(&evdi_recv_msg_queue, _msg, next);
 
-        pthread_mutex_unlock(&recv_buf_mutex);
+        qemu_mutex_unlock(&recv_buf_mutex);
 
         left -= size;
         count ++;
@@ -138,7 +138,7 @@ static void flush_evdi_recv_queue(void)
     }
 
 
-    pthread_mutex_lock(&recv_buf_mutex);
+    qemu_mutex_lock(&recv_buf_mutex);
 
     while (!QTAILQ_EMPTY(&evdi_recv_msg_queue))
     {
@@ -170,7 +170,7 @@ static void flush_evdi_recv_queue(void)
              free(msginfo);
     }
 
-    pthread_mutex_unlock(&recv_buf_mutex);
+    qemu_mutex_unlock(&recv_buf_mutex);
 
 }
 
@@ -241,6 +241,8 @@ static void virtio_evdi_realize(DeviceState *dev, Error **errp)
 
     vio_evdi->bh = qemu_bh_new(maru_evdi_bh, vio_evdi);
 
+    qemu_mutex_init(&recv_buf_mutex);
+
     if (vio_evdi->profile) {
         epi_init();
     }
@@ -252,6 +254,8 @@ static void virtio_evdi_unrealize(DeviceState *dev, Error **errp)
 
     INFO("destroy evdi device\n");
 
+    qemu_mutex_destroy(&recv_buf_mutex);
+
     if (vio_evdi->bh) {
             qemu_bh_delete(vio_evdi->bh);
         }