summaryrefslogtreecommitdiffstats
path: root/src/kernel/tests/include/tst_pid.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/tests/include/tst_pid.h')
-rw-r--r--src/kernel/tests/include/tst_pid.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/kernel/tests/include/tst_pid.h b/src/kernel/tests/include/tst_pid.h
new file mode 100644
index 0000000..9ba1abb
--- /dev/null
+++ b/src/kernel/tests/include/tst_pid.h
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later
+ * Copyright (c) 2015-2016 Cyril Hrubis <chrubis@suse.cz>
+ */
+
+#ifndef TST_PID_H__
+#define TST_PID_H__
+
+#include <sys/types.h>
+
+/*
+ * Get a pid value not used by the OS
+ */
+pid_t tst_get_unused_pid_(void (*cleanup_fn)(void));
+
+/*
+ * Returns number of free pids by substarction of the number of pids
+ * currently used ('ps -eT') from max_pids
+ */
+int tst_get_free_pids_(void (*cleanup_fn)(void));
+
+#ifdef TST_TEST_H__
+static inline pid_t tst_get_unused_pid(void)
+{
+ return tst_get_unused_pid_(NULL);
+}
+
+static inline int tst_get_free_pids(void)
+{
+ return tst_get_free_pids_(NULL);
+}
+#else
+static inline pid_t tst_get_unused_pid(void (*cleanup_fn)(void))
+{
+ return tst_get_unused_pid_(cleanup_fn);
+}
+
+static inline int tst_get_free_pids(void (*cleanup_fn)(void))
+{
+ return tst_get_free_pids_(cleanup_fn);
+}
+#endif
+
+#endif /* TST_PID_H__ */