| | |
| | | static Logger logger = LoggerFactory::getLogger(); |
| | | |
| | | int SemUtil::get(key_t key, unsigned int value) { |
| | | // printf("==================SemUtil::get===============================\n"); |
| | | int semid, perms; |
| | | |
| | | perms = S_IRUSR | S_IWUSR; |
| | |
| | | |
| | | while (semop(semId, &sops, 1) == -1) |
| | | if (errno != EINTR) { |
| | | // err_msg(errno, "SemUtil::dec"); |
| | | err_msg(errno, "SemUtil::dec"); |
| | | return -1; |
| | | } |
| | | |
| | |
| | | |
| | | while (semop(semId, &sops, 1) == -1) |
| | | if (errno != EINTR) { |
| | | // err_msg(errno, "SemUtil::dec_nowait"); |
| | | err_msg(errno, "SemUtil::dec_nowait"); |
| | | return -1; |
| | | } |
| | | |
| | |
| | | |
| | | while (semtimedop(semId, &sops, 1, timeout) == -1) |
| | | if (errno != EINTR) { |
| | | //err_msg(errno, "SemUtil::dec_timeout"); |
| | | err_msg(errno, "SemUtil::dec_timeout"); |
| | | return -1; |
| | | } |
| | | |