summaryrefslogtreecommitdiff
path: root/elf/dl-error.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-12-19 12:11:38 +0000
committerJakub Jelinek <jakub@redhat.com>2005-12-19 12:11:38 +0000
commit2c6cfe6853a30deb4af842aacc924fa298d0521a (patch)
tree7fcc409e499bb8e3d96522f7fc2393fc10e53db2 /elf/dl-error.c
parent3ccb96cd41b38d0159bdf8aad229c3599864c65d (diff)
Updated to fedora-glibc-20051219T1003cvs/fedora-glibc-2_3_90-19
Diffstat (limited to 'elf/dl-error.c')
-rw-r--r--elf/dl-error.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/elf/dl-error.c b/elf/dl-error.c
index 3a0d9bb8a7..b5374e949c 100644
--- a/elf/dl-error.c
+++ b/elf/dl-error.c
@@ -112,7 +112,8 @@ _dl_signal_error (int errcode, const char *objname, const char *occation,
lcatch->errstring = _dl_out_of_memory;
lcatch->malloced = false;
}
- longjmp (lcatch->env, errcode ?: -1);
+ /* We do not restore the signal mask because none was saved. */
+ __longjmp (lcatch->env, errcode ?: -1);
}
else
{
@@ -169,7 +170,8 @@ _dl_catch_error (const char **objname, const char **errstring,
struct catch **const catchp = &CATCH_HOOK;
old = *catchp;
- errcode = setjmp (c.env);
+ /* Do not save the signal mask. */
+ errcode = __sigsetjmp (c.env, 0);
if (__builtin_expect (errcode, 0) == 0)
{
*catchp = &c;