HPlogo HP-UX Reference Volume 3 of 5 > s

sigsetmask(2)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

sigsetmask — set current signal mask

SYNOPSIS

#include <signal.h>

long sigsetmask(long mask);

DESCRIPTION

sigsetmask() sets the current signal mask (those signals that are blocked from delivery). Signal i is blocked if the i-th bit in mask, as specified with the macro sigmask(i), is a 1.

It is not possible to mask signals that cannot be ignored, as documented in signal(5); this restriction is silently imposed by the system.

sigblock() can be used to add elements to the set of blocked signals.

RETURN VALUE

The previous set of masked signals is returned.

EXAMPLES

The following call to sigsetmask() causes only the SIGUSR1 and SIGUSR2 signals to be blocked:

long oldmask; oldmask = sigsetmask (sigmask (SIGUSR1) | sigmask (SIGUSR2));

WARNINGS

Do not use sigsetmask() in conjunction with the facilities described under sigset(3C).

APPLICATION USAGE

Threads Considerations

Since each thread maintains its own blocked signal mask, sigsetmask() modifies only the calling thread's blocked signal mask.

For more information regarding signals and threads, refer to signal(5).

LWP (Lightweight Processes) Considerations

sigsetmask() modifies only the calling LWP's blocked signal mask.

LP64 Programs

sigsetmask() accepts and returns long (64 bit) values. However, as for ILP32 programs, sigsetmask() supports signals numbered 1 through 32. The upper 32 bits of the mask argument are ignored. Also, the upper 32 bits of the returned mask have no meaning.

AUTHOR

sigsetmask() was developed by the University of California, Berkeley.

© Hewlett-Packard Development Company, L.P.