| 177 | |
| 178 | extern "C" |
| 179 | int |
| 180 | semctl(int semid, int semnum, int cmd, ...) |
| 181 | { |
| 182 | union semun uarg; |
| 183 | va_list arg; |
| 184 | |
| 185 | va_start(arg, cmd); |
| 186 | uarg = va_arg(arg, union semun); |
| 187 | va_end(arg); |
| 188 | |
| 189 | DMTCP_PLUGIN_DISABLE_CKPT(); |
| 190 | int ret = _real_semctl(semid, semnum, cmd, uarg); |
| 191 | if (ret != -1 && (cmd & GETPID)) { |
| 192 | ret = REAL_TO_VIRTUAL_PID(ret); |
| 193 | } |
| 194 | DMTCP_PLUGIN_ENABLE_CKPT(); |
| 195 | return ret; |
| 196 | } |
| 197 | |
| 198 | extern "C" |
| 199 | int |