/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* ************************************************************************* * * Test: sigpipe.c * * Test the SIGPIPE handler in NSPR. This test applies to Unix only. * *************************************************************************
*/
#if !defined(XP_UNIX)
int main(void) { /* This test applies to Unix and OS/2. */ return 0;
}
#else/* XP_UNIX && OS/2 */
# include "nspr.h"
# include <stdio.h> # include <unistd.h> # include <errno.h>
staticvoid Test(void* arg) { int pipefd[2]; int rv; char c = '\0';
rv = write(pipefd[1], &c, 1); if (rv != -1) {
fprintf(
stderr, "write to broken pipe should have failed with EPIPE but returned %d\n",
rv); exit(1);
} if (errno != EPIPE) {
fprintf(stderr, "write to broken pipe failed but with wrong errno: %d\n",
errno); exit(1);
}
close(pipefd[1]);
printf("write to broken pipe failed with EPIPE, as expected\n");
}
int main(int argc, char** argv) {
PRThread* thread;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.