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