From c46be6db32872bfd7c4010b43526b5e6bc0fa6a5 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期一, 25 一月 2021 14:04:59 +0800
Subject: [PATCH] update

---
 src/svsem.cpp |   36 ++++++++++++++----------------------
 1 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/src/svsem.cpp b/src/svsem.cpp
index b874fdb..27c88a8 100644
--- a/src/svsem.cpp
+++ b/src/svsem.cpp
@@ -83,7 +83,7 @@
   while (semop(semid, &sops, 1) == -1)
     if (errno != EINTR) {
       // err_msg(errno, "svsem_dec");
-      return errno;
+      return -1;
     }
 
   return 0;
@@ -95,14 +95,9 @@
   sops.sem_num = 0;
   sops.sem_op = -1;
   sops.sem_flg = IPC_NOWAIT | 0;
+ 
 
-  if (semop(semid, &sops, 1) == -1)
-    if (errno != EINTR) {
-      // err_msg(errno, "svsem_dec_nowait");
-      return errno;
-    }
-
-  return 0;
+  return semop(semid, &sops, 1) ;
 }
 
 int svsem_timedwait(const int semid, const struct timespec *timeout) {
@@ -115,7 +110,7 @@
   while (semtimedop(semid, &sops, 1, timeout) == -1)
     if (errno != EINTR) {
       // err_msg(errno, "svsem_psem_timedwait");
-      return errno;
+      return -1;
     }
 
   return 0;
@@ -133,7 +128,7 @@
   int rv = semop(semid, &sops, 1);
   if (rv == -1) {
     // err_msg(errno, "svsem_inc");
-    return errno;
+    return -1;
   }
   return 0;
 }
@@ -149,7 +144,7 @@
   arg.val = 1;
   if (semctl(semid, 1, SETVAL, arg) == -1) {
     err_msg(errno, "svsem_set");
-    return errno;
+    return -1;
   }   
 
   //閲婃斁mutex
@@ -165,7 +160,7 @@
   while (semop(semid, sops, 2) == -1)
     if (errno != EINTR) {
       // err_msg(errno, "Svsvsem_dec");
-      return errno;
+      return -1;
     }
 
 
@@ -177,7 +172,7 @@
   while (semop(semid, sops, 1) == -1)
     if (errno != EINTR) {
       // err_msg(errno, "Svsvsem_dec");
-      return errno;
+      return -1;
     }
 
   return 0;
@@ -190,7 +185,7 @@
   
   if (semctl(semid, 1, SETVAL, arg) == -1) {
     err_msg(errno, "svsem_set");
-    return errno;
+    return -1;
   }
   return 0;
 }
@@ -212,7 +207,7 @@
   while (semop(semid, &sops, 1) == -1)
     if (errno != EINTR) {
       // err_msg(errno, "svsem_zero");
-      return errno;
+      return -1;
     }
 
   return 0;
@@ -229,7 +224,7 @@
   while (semop(semid, &sops, 1) == -1)
     if (errno != EINTR) {
       // err_msg(errno, "svsem_zero_nowait");
-      return errno;
+      return -1;
     }
 
   return 0;
@@ -245,7 +240,7 @@
   while (semtimedop(semid, &sops, 1, timeout) == -1)
     if (errno != EINTR) {
       // err_msg(errno, "svsem_zero_timeout");
-      return errno;
+      return -1;
     }
 
   return 0;
@@ -257,11 +252,8 @@
 int svsem_set(int semid, int val) {
   union semun arg;
   arg.val = val;
-  if (semctl(semid, 0, SETVAL, arg) == -1) {
-    err_msg(errno, "svsem_set");
-    return errno;
-  }
-  return 0;
+  
+  return semctl(semid, 0, SETVAL, arg);
 }
 
 

--
Gitblit v1.8.0