@@ -414,6 +414,22 @@ if compile_prog "" "" "futexv"; then
fi
print_config "futex waitv support" "$futexv"
+##########################################
+# Check idtype_t support
+has_idtype_t="no"
+cat > $TMPC << EOF
+#include <sys/wait.h>
+int main(void)
+{
+ idtype_t v;
+ return 0;
+}
+EOF
+if compile_prog "" "" "idtype_t"; then
+ has_idtype_t="yes"
+fi
+print_config "has_idtype_t" "$has_idtype_t"
+
#############################################################################
liburing_nolibc="no"
if test "$use_libc" != "yes"; then
@@ -590,6 +606,17 @@ struct futex_waitv {
uint32_t __reserved;
};
+EOF
+fi
+
+if test "$has_idtype_t" != "yes"; then
+cat >> $compat_h << EOF
+typedef enum
+{
+ P_ALL, /* Wait for any child. */
+ P_PID, /* Wait for specified process. */
+ P_PGID /* Wait for members of process group. */
+} idtype_t;
EOF
fi
cat >> $compat_h << EOF
io_uring_prep_waitid() requires idtype_t, which is not always defined on all platforms. Add a check for the presence of idtype_t during configure, and if not found then add a definition in compat.h. Signed-off-by: David Wei <dw@davidwei.uk> --- configure | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)