From: Keith Owens <kaos@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] Re: Bug: Blocking of RT signals in a pause()
Date: Mon, 24 Feb 2003 23:15:50 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590709805924@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590709805909@msgid-missing>
On Fri, 21 Feb 2003 17:38:24 +0100,
Eric Piel <Eric.Piel@Bull.Net> wrote:
>Basically the problem is that while my program is in a pause() I can not
>receive any signal > 32 (RT signals) even if I've just unblocked them.
>In addition if I unblock signal 32 then all the RT signals are
>unblocked. This strange behaviour is not reproductible during a sleep().
>No idea came to my mind to test other system calls so I can't say more.
It looks like this has been fixed in glibc CVS 2003-02-23. The old
pause file (sysdeps/unix/common/pause.c) has been deleted and
sysdeps/posix/pause.c has been added, containing:
#include <signal.h>
#include <unistd.h>
/* Suspend the process until a signal arrives.
This always returns -1 and sets errno to EINTR. */
int
__libc_pause (void)
{
sigset_t set;
__sigemptyset (&set);
__sigprocmask (SIG_BLOCK, NULL, &set);
/* pause is a cancellation point, but so is sigsuspend.
So no need for anything special here. */
return __sigsuspend (&set);
}
weak_alias (__libc_pause, pause)
Either upgrade ia64 to glibc from CVS or modify your existing glibc to
use the above code for pause.
prev parent reply other threads:[~2003-02-24 23:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-23 22:06 [Linux-ia64] Re: Bug: Blocking of RT signals in a pause() Keith Owens
2003-02-24 23:15 ` Keith Owens [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590709805924@msgid-missing \
--to=kaos@sgi.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.