aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2023-08-29 22:24:55 +1200
committerGitHub <noreply@github.com>2023-08-29 22:24:55 +1200
commite46e48d690cf543193418ef08725cdbe31688975 (patch)
tree72ed0617581e4b51c47894632b6797054d28c2aa
parent0744da1b3bdaad43bf98f2d8b2425841f787b2dc (diff)
downloadruby-e46e48d690cf543193418ef08725cdbe31688975.tar.gz
Expose `rb_process_status_wait` and hide `rb_process_status_waitv`. (#8316)
-rw-r--r--include/ruby/internal/intern/process.h9
-rw-r--r--process.c2
2 files changed, 10 insertions, 1 deletions
diff --git a/include/ruby/internal/intern/process.h b/include/ruby/internal/intern/process.h
index 7a7b24ed4b..5dcf85e80c 100644
--- a/include/ruby/internal/intern/process.h
+++ b/include/ruby/internal/intern/process.h
@@ -31,6 +31,15 @@ RBIMPL_SYMBOL_EXPORT_BEGIN()
/* process.c */
/**
+ * Wait for the specified process to terminate, reap it, and return its status.
+ *
+ * @param[in] pid The process ID to wait for.
+ * @param[in] flags The flags to pass to waitpid(2).
+ * @return VALUE An instance of Process::Status.
+ */
+VALUE rb_process_status_wait(rb_pid_t pid, int flags);
+
+/**
* Sets the "last status", or the `$?`.
*
* @param[in] status The termination status, as defined in `waitpid(3posix)`.
diff --git a/process.c b/process.c
index 5468cf0846..377da3829a 100644
--- a/process.c
+++ b/process.c
@@ -1197,7 +1197,7 @@ rb_process_status_wait(rb_pid_t pid, int flags)
* This is an EXPERIMENTAL FEATURE.
*/
-VALUE
+static VALUE
rb_process_status_waitv(int argc, VALUE *argv, VALUE _)
{
rb_check_arity(argc, 0, 2);