public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* RT Sigio broken on 2.4.19-pre8
@ 2002-05-25  8:40 Aaron Sethman
  2002-05-25  8:56 ` Aaron Sethman
  2002-05-27  8:25 ` Peter Wächtler
  0 siblings, 2 replies; 10+ messages in thread
From: Aaron Sethman @ 2002-05-25  8:40 UTC (permalink / raw)
  To: linux-kernel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Using the Dan Kegel's Poller_bench utility I noticed that RT SIGIO is not
working on 2.4.19-pre8.  Basically sigtimedwait() is always returning
SIGIO.  Note that 2.4.18 works fine.

Regards,

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE8703wbNIhrdTeJVMRAlcgAJ9Bga4Y9Dj+YP1jGq6iQAtWHsTo7gCfYtC0
MrGouDbev2gSs2nymlXNVuw=
=R0yb
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: RT Sigio broken on 2.4.19-pre8
@ 2002-05-28  1:07 Dan Kegel
  2002-05-28  1:26 ` Dan Kegel
  2002-05-28  2:04 ` Aaron Sethman
  0 siblings, 2 replies; 10+ messages in thread
From: Dan Kegel @ 2002-05-28  1:07 UTC (permalink / raw)
  To: Aaron Sethman, linux-kernel@vger.kernel.org, pwaechtler, austin

Aaron Sethman wrote:
> > > Using the Dan Kegel's Poller_bench utility I noticed that RT SIGIO is not
> > > working on 2.4.19-pre8.  Basically sigtimedwait() is always returning
> > > SIGIO.  Note that 2.4.18 works fine.
> > > ... It seems rtsig-nr keeping rising slowly as the system runs.

That sounds like the way I'm clearing the signal queue is not working.
Here's a minimal test case for clearing the signal queue.  Could
you try it and tell me what it says?
- Dan

#include <stdio.h>
#include <signal.h>
#include <assert.h>

int main(int argc, char **argv)
{
        sigset_t sigset;
        siginfo_t info;
        static struct timespec timeout = {0,0};

        // block delivery of SIGRTMIN
        sigemptyset(&sigset);
        sigaddset(&sigset, SIGRTMIN);
        assert(0 == sigprocmask(SIG_BLOCK, &sigset, NULL));

        // clear signal queue
        assert(0 == signal(SIGRTMIN, SIG_IGN)); // POSIX says this clears the queue

        // Make sure that cleared the queue.  (Note that timeout is zero here.)
        assert(sigtimedwait(&sigset, &info, &timeout) != SIGRTMIN);

        printf("test passed\n");
        exit(0);
}

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2002-05-28  3:24 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-25  8:40 RT Sigio broken on 2.4.19-pre8 Aaron Sethman
2002-05-25  8:56 ` Aaron Sethman
2002-05-27  8:25 ` Peter Wächtler
2002-05-27  8:34   ` Austin Gonyou
2002-05-27 17:51   ` Aaron Sethman
  -- strict thread matches above, loose matches on Subject: below --
2002-05-28  1:07 Dan Kegel
2002-05-28  1:26 ` Dan Kegel
2002-05-28  2:06   ` Aaron Sethman
2002-05-28  3:25   ` Dan Kegel
2002-05-28  2:04 ` Aaron Sethman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox