diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-09-02 07:14:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-09-02 07:14:15 +0000 |
commit | f1c30c98b9c9720f2a542df7ae0b9cde4c162e7a (patch) | |
tree | 316c77f8647401e15d064910b7f33b0d2c84050d /stdlib/fmtmsg.c | |
parent | c503d3dc512a5f7947d5b3d69d784028db3a639a (diff) | |
download | glibc-f1c30c98b9c9720f2a542df7ae0b9cde4c162e7a.zip glibc-f1c30c98b9c9720f2a542df7ae0b9cde4c162e7a.tar.gz glibc-f1c30c98b9c9720f2a542df7ae0b9cde4c162e7a.tar.bz2 |
(CFLAGS-oldtmpfile.c): Add -fexceptions.
Diffstat (limited to 'stdlib/fmtmsg.c')
-rw-r--r-- | stdlib/fmtmsg.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/stdlib/fmtmsg.c b/stdlib/fmtmsg.c index 37c641c..2ab97b7 100644 --- a/stdlib/fmtmsg.c +++ b/stdlib/fmtmsg.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1997,1999,2000,2001,2002,2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -108,7 +108,7 @@ fmtmsg (long int classification, const char *label, int severity, int result = MM_OK; struct severity_info *severity_rec; - /* make sure everything is initialized. */ + /* Make sure everything is initialized. */ __libc_once (once, init); /* Start the real work. First check whether the input is ok. */ @@ -137,6 +137,14 @@ fmtmsg (long int classification, const char *label, int severity, return MM_NOTOK; +#ifdef __libc_ptf_call + /* We do not want this call to be cut short by a thread + cancellation. Therefore disable cancellation for now. */ + int state = PTHREAD_CANCEL_ENABLE; + __libc_ptf_call (pthread_setcancelstate, (PTHREAD_CANCEL_DISABLE, &state), + 0); +#endif + /* Now we can print. */ if (classification & MM_PRINT) { @@ -206,6 +214,10 @@ fmtmsg (long int classification, const char *label, int severity, do_tag ? tag : ""); } +#ifdef __libc_ptf_call + __libc_ptf_call (pthread_setcancelstate, (state, NULL), 0); +#endif + return result; } |