diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2017-03-20 21:15:03 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2017-03-20 21:15:03 +0200 |
commit | 7ec5068a7419cc4dddcf7e060077a1287217c5cd (patch) | |
tree | 9369b5591ddb5f0a48421b1b82abd4b02674195b /awk.h | |
parent | de684770acc545bf14f85655d44fe91e9afa0ba3 (diff) | |
download | egawk-7ec5068a7419cc4dddcf7e060077a1287217c5cd.tar.gz egawk-7ec5068a7419cc4dddcf7e060077a1287217c5cd.tar.bz2 egawk-7ec5068a7419cc4dddcf7e060077a1287217c5cd.zip |
Improve handling of EPIPE and fflush.
Diffstat (limited to 'awk.h')
-rw-r--r-- | awk.h | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -1584,6 +1584,10 @@ extern bool inrec(IOBUF *iop, int *errcode); extern int nextfile(IOBUF **curfile, bool skipping); extern bool is_non_fatal_std(FILE *fp); extern bool is_non_fatal_redirect(const char *str, size_t len); +extern void ignore_sigpipe(void); +extern void set_sigpipe_to_default(void); +extern bool non_fatal_flush_std_file(FILE *fp); + /* main.c */ extern int arg_assign(char *arg, bool initing); extern int is_std_var(const char *var); @@ -1958,3 +1962,11 @@ erealloc_real(void *ptr, size_t count, const char *where, const char *var, const return ret; } + +#ifdef SIGPIPE +#define ignore_sigpipe() signal(SIGPIPE, SIG_IGN) +#define set_sigpipe_to_default() signal(SIGPIPE, SIG_DFL) +#else +#define ignore_sigpipe() +#define set_sigpipe_to_default() +#endif |