/// Call `waitpid` on this child. Returns the status code if possible, or `Error` if error.
/// Call `waitpid` on this child. Returns the status code if possible, or `Error` if error.
///
///
/// `Child` implements `Future`, and waiting on that directly is probably preferable to calling this method as it does no blocking.
///
/// # Notes
/// # Notes
/// - When `threaded` feature is disabled, this function will not block at all, instead returning error if there is not status available, this is to prevent deadlock.
/// - When `threaded` feature is disabled, this function will not block at all, instead returning error if there is not status available, this is to prevent deadlock.
/// - This function (at present) will return `Error` when the child process exits, too. This is because we don't have `errno` access yet, I'm working on it.
/// - This function (at present) will return `Error` when the child process exits, too. This is because we don't have `errno` access yet, I'm working on it.
/// Wait for the child process to end, ignoring any other signals.
/// Wait for the child process to end, ignoring any other signals.
///
///
/// `Child` implements `Future`, and waiting on that directly is probably preferable to calling this method as it does no blocking.
///
/// # Notes
/// # Notes
/// - When `threaded` feature is disabled, this function will return immediately, this is an error-handling bug because we don't have `errno` access as of yet.
/// - When `threaded` feature is disabled, this function will return immediately, this is an error-handling bug because we don't have `errno` access as of yet.
/// - This function will call `waitpid` untill it returns status `ECHILD` (child has exited). Other status values are ignored, if any.
/// - This function will call `waitpid` untill it returns status `ECHILD` (child has exited). Other status values are ignored, if any.