problems with sigtimedwait() after migrating from Debian to Red Hat



Hi,

With real-time signals I need to assign a process ID of the thread to
be woken up. On the Debian system I have a PID for each thread to
getpid() delivers me what I want. However, on the Red Hat ES4 system,
I have only one PID for all threads. getpid() returns the PID of the
main() thread an that I can not use because I hav to block SIGRT for
this thread.

How can I get sigtimedwait() to work in a specific thread?

rgrds rogier mulder
.



Relevant Pages

  • Re: Is fork() hook ever possible?
    ... child's pid is needed. ... Currently OpenBSD does almost that checking getpid() every time ... application, we have standard API only - fork() and arc4randomfamily, ... This wouldn't work if the application made its own syscall ...
    (freebsd-current)
  • [patch 1/1] uml: use sys_getpid bypassing glibc (fixes UML on Gentoo)
    ... Using NPTL, getpid() sometimes delivers the wrong pid, since it uses the one ... int is_skas_winch ... printf("sigaltstack failed - errno = %d\n", ...
    (Linux-Kernel)
  • Re: Starting an external application from C++
    ... The getpid() system call returns both the current PID and the ... Basically the parent application is a client app which spawns the server, ... I'm not calling system(). ...
    (comp.unix.programmer)
  • Re: clone() <-> getpid() bug in 2.6?
    ... So yes, you'll find some broken benchmarks using getpid(), but nobody sane ... thread-specific pid to look up the thread-specific data. ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: [HACKERS] semaphore usage "port based"?
    ... So any pid returned here is necessarily stale -- even if there ... If the PID returned by GETPID is ... then we assume that the semaphore set can be recycled. ... semaphore sets, even if you've got lots of postmaster crashes going on ...
    (freebsd-stable)