.lf 1 ./man/man3/explain_pclose_or_die.3 .\" .\" libexplain - Explain errno values returned by libc functions .\" Copyright (C) 2009, 2011 Peter Miller .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 3 of the License, or (at .\" your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU .\" General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . .\" .ds n) explain_pclose_or_die .cp 0 \" Solaris defaults to ''.cp 1'', sheesh. .TH explain_pclose_or_die 3 .SH NAME explain_pclose_or_die \- process I/O and report errors .if require_index \{ "process I/O and report errors" .\} .SH SYNOPSIS #include .sp 0.3 int explain_pclose_or_die(FILE *fp); .br int explain_pclose_success(FILE *fp); .br void explain_pclose_success_or_die(FILE *fp); .SH DESCRIPTION These functions may be used to wait for program termination, and then reprt errors returned by the \f[I]pclose\fP(3) system call. .\" ---------------------------------------------------- .SS explain_pclose_or_die int explain_pclose_or_die(FILE *fp); .PP The \f[B]explain_pclose_or_die\fP function is used to call the \f[I]pclose\fP(3) system call. On failure an explanation will be printed to \f[I]stderr\fP, obtained from \f[I]explain_pclose\fP(3), and then the process terminates by calling \f[CW]exit(EXIT_FAILURE)\fP. .PP This function is intended to be used in a fashion similar to the following example: .RS .ft CW .nf int status = explain_pclose_or_die(fp); .fi .ft R .RE .TP 8n \f[I]fp\fP The fp, exactly as to be passed to the \f[I]pclose\fP(3) system call. .TP 8n Returns: This function only returns on success, see \f[I]pclose\fP(3) for more information. On failure, prints an explanation and exits. .\" ------------------------------------------------------------------------ .SS explain_pclose_success_or_die void explain_pclose_success_or_die(FILE *); .PP The \f[B]explain_pclose_success_or_die\fP function is used to call the \f[I]pclose\fP(3) system call. On failure, including any exit status other than EXIT_SUCCESS, an explanation will be printed to \f[I]stderr\fP, obtained from \f[I]explain_pclose\fP(3), and then the process terminates by calling \f[CW]exit(EXIT_FAILURE)\fP. .PP This function is intended to be used in a fashion similar to the following example: .RS .ft CW .nf explain_pclose_success_or_die(fp); .fi .ft R .RE .TP 8n \f[I]fp\fP The fp, exactly as to be passed to the \f[I]pclose\fP(3) system call. .TP 8n Returns: This function only returns on success. On failure, prints an explanation and exits. .\" ------------------------------------------------------------------------ .SS explain_pclose_success int explain_pclose_success(FILE *fp); .PP The \f[B]explain_pclose_success\fP function is used to call the \f[I]pclose\fP(3) system call. On failure, including any exit status other than EXIT_SUCCESS, an explanation will be printed to \f[I]stderr\fP, obtained from \f[I]explain_pclose\fP(3). However, the priniting of an error message does \f[B]not\fP also cause \f[I]exit\fP(2) to be called. .PP This function is intended to be used in a fashion similar to the following example: .RS .ft CW .nf int status = explain_pclose_success(command); .fi .ft R .RE .TP 8n \f[I]fp\fP The fp, exactly as to be passed to the \f[I]pclose\fP(3) system call. .TP 8n Returns: the value returned by the \f[I]pclose\fP(3) system call. In all cases other than EXIT_SUCCESS, an error message will also have been printed to stderr. .\" ---------------------------------------------------- .SH SEE ALSO .TP 8n \f[I]pclose\fP(3) process I/O .TP 8n \f[I]explain_pclose\fP(3) explain \f[I]pclose\fP(3) errors .TP 8n \f[I]exit\fP(2) terminate the calling process .\" ---------------------------------------------------- .SH COPYRIGHT .lf 1 ./etc/version.so .ds v) 1.4 .ds V) 1.4.D001 .ds Y) 2008, 2009, 2010, 2011, 2012, 2013, 2014 .lf 134 ./man/man3/explain_pclose_or_die.3 .if n .ds C) (C) .if t .ds C) \(co libexplain version \*(v) .br Copyright \*(C) 2009 Peter Miller .\" vim:ts=8:sw=4:et