mq_notify: rework to fix use-after-close/double-close bugs
[musl] / include / sys / sem.h
index cc3a3e6..a747784 100644 (file)
@@ -25,21 +25,13 @@ extern "C" {
 #define SETVAL         16
 #define SETALL         17
 
-struct semid_ds {
-       struct ipc_perm sem_perm;
-       long sem_otime;
-       unsigned long __unused1;
-       long sem_ctime;
-       unsigned long __unused2;
-       unsigned long sem_nsems;
-       unsigned long __unused3;
-       unsigned long __unused4;
-};
+#include <bits/sem.h>
 
 #define _SEM_SEMUN_UNDEFINED 1
 
-#define SEM_STAT 18
+#define SEM_STAT (18 | (IPC_STAT & 0x100))
 #define SEM_INFO 19
+#define SEM_STAT_ANY (20 | (IPC_STAT & 0x100))
 
 struct  seminfo {
        int semmap;
@@ -68,6 +60,12 @@ int semop(int, struct sembuf *, size_t);
 int semtimedop(int, struct sembuf *, size_t, const struct timespec *);
 #endif
 
+#if _REDIR_TIME64
+#ifdef _GNU_SOURCE
+__REDIR(semtimedop, __semtimedop_time64);
+#endif
+#endif
+
 #ifdef __cplusplus
 }
 #endif