Fix locking the mutex 59/264359/4
authorHwankyu Jhun <h.jhun@samsung.com>
Thu, 16 Sep 2021 09:06:53 +0000 (18:06 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Thu, 23 Sep 2021 00:09:28 +0000 (09:09 +0900)
This patch uses lock() and unlock() instead of std::lock_guard to reduce
the instance creation of std::lock_guard.

Change-Id: Ia7988caf0e9165bab79b785c19db7b989e41b077
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/port-internal.cc

index 77120f5..7e006a3 100644 (file)
@@ -121,21 +121,18 @@ int Port::Read(void* buf, unsigned int size) {
   int max_timeout = MAX_CNT * MAX_SLEEP; /* 10 sec */
   int fd;
 
-  {
-    std::lock_guard<std::recursive_mutex> lock(mutex_);
-    fd = fd_;
-    if (fd < 0 || fd >= sysconf(_SC_OPEN_MAX)) {
-      _E("Invalid fd(%d)", fd);
-      return RPC_PORT_ERROR_IO_ERROR;
-    }
+  mutex_.lock();
+  fd = fd_;
+  mutex_.unlock();
+  if (fd < 0 || fd >= sysconf(_SC_OPEN_MAX)) {
+    _E("Invalid fd(%d)", fd);
+    return RPC_PORT_ERROR_IO_ERROR;
   }
 
   while (left) {
-    {
-      std::lock_guard<std::recursive_mutex> lock(mutex_);
-      nb = read(fd, buffer, left);
-    }
-
+    mutex_.lock();
+    nb = read(fd_, buffer, left);
+    mutex_.unlock();
     if (nb == 0) {
       _E("read_socket: ...read EOF, socket closed %d: nb %zd\n", fd, nb);
       return RPC_PORT_ERROR_IO_ERROR;