explain_pclose_or_die(3) process I/O and report errors

SYNOPSIS

#include <libexplain/pclose.h>

int explain_pclose_or_die(FILE *fp);
int explain_pclose_success(FILE *fp);
void explain_pclose_success_or_die(FILE *fp);

DESCRIPTION

These functions may be used to wait for program termination, and then reprt errors returned by the pclose(3) system call.

explain_pclose_or_die

int explain_pclose_or_die(FILE *fp);

The explain_pclose_or_die function is used to call the pclose(3) system call. On failure an explanation will be printed to stderr, obtained from explain_pclose(3), and then the process terminates by calling exit(EXIT_FAILURE).

This function is intended to be used in a fashion similar to the following example:

int status = explain_pclose_or_die(fp);
fp
The fp, exactly as to be passed to the pclose(3) system call.
Returns:
This function only returns on success, see pclose(3) for more information. On failure, prints an explanation and exits.

explain_pclose_success_or_die

void explain_pclose_success_or_die(FILE *);

The explain_pclose_success_or_die function is used to call the pclose(3) system call. On failure, including any exit status other than EXIT_SUCCESS, an explanation will be printed to stderr, obtained from explain_pclose(3), and then the process terminates by calling exit(EXIT_FAILURE).

This function is intended to be used in a fashion similar to the following example:

explain_pclose_success_or_die(fp);
fp
The fp, exactly as to be passed to the pclose(3) system call.
Returns:
This function only returns on success. On failure, prints an explanation and exits.

explain_pclose_success

int explain_pclose_success(FILE *fp);

The explain_pclose_success function is used to call the pclose(3) system call. On failure, including any exit status other than EXIT_SUCCESS, an explanation will be printed to stderr, obtained from explain_pclose(3). However, the priniting of an error message does not also cause exit(2) to be called.

This function is intended to be used in a fashion similar to the following example:

int status = explain_pclose_success(command);
fp
The fp, exactly as to be passed to the pclose(3) system call.
Returns:
the value returned by the pclose(3) system call. In all cases other than EXIT_SUCCESS, an error message will also have been printed to stderr.

COPYRIGHT

libexplain version 1.4
Copyright (C) 2009 Peter Miller