[rhn-users] posix threads on RHEL 4.0, SIGRT_1?

Greg Brissey greg.brissey at varianinc.com
Wed Apr 12 15:44:31 UTC 2006


  I'm running multithreaded programs on RH Enterprise 4,

  I block all signals and handle any signals via sigwait() in the main thread of my
  applications.

  I'm new to Linux and have typically been running my apps under Solaris 9 on
  sparc machines so I'm not quite up to speed on how  Linux handles pthreads with NPTL.

  To my great surprise I've discovered that my threads are being interrupted by
  SIGRT_1 signals.  (this doesn't happen on Solaris)

  for example I block all signals via

    sigset_t   blockmask;
    sigfillset( &blockmask );
    pthread_sigmask(SIG_BLOCK,&blockmask,NULL);

  This doesn't seem to block the SIGRT_1 signals

  Can anyone tell me

  1. What are these SIGRT_1 for?
     I've have heard these are used to signal thread exits,
     but all my threads are detached and persistent.

  2. How do I block them, or should I?

  3. If I must live with them does this mean I must programmatically reschedule
     any system calls that might be interrupted? (EINTR)
     (I sure hope not)


Thanks
Greg




More information about the rhn-users mailing list