Print this page
3830 SIGQUEUE_MAX's limit of 32 is too low
*** 18,29 ****
*
* CDDL HEADER END
*/
/*
! * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
! * Use is subject to license terms.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
--- 18,28 ----
*
* CDDL HEADER END
*/
/*
! * Copyright (c) 1988, 2012, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
*** 301,320 ****
} signotifyq_t;
typedef struct sigqhdr { /* sigqueue pool header */
sigqueue_t *sqb_free; /* free sigq struct list */
! uchar_t sqb_count; /* sigq free count */
! uchar_t sqb_maxcount; /* sigq max free count */
! ushort_t sqb_size; /* size of header+free structs */
uchar_t sqb_pexited; /* process has exited */
! uchar_t sqb_sent; /* number of sigq sent */
kcondvar_t sqb_cv; /* waiting for a sigq struct */
kmutex_t sqb_lock; /* lock for sigq pool */
} sigqhdr_t;
! #define _SIGQUEUE_MAX 32
#define _SIGNOTIFY_MAX 32
extern void setsigact(int, void (*)(int), const k_sigset_t *, int);
extern void sigorset(k_sigset_t *, const k_sigset_t *);
extern void sigandset(k_sigset_t *, const k_sigset_t *);
--- 300,325 ----
} signotifyq_t;
typedef struct sigqhdr { /* sigqueue pool header */
sigqueue_t *sqb_free; /* free sigq struct list */
! int sqb_count; /* sigq free count */
! uint_t sqb_maxcount; /* sigq max free count */
! size_t sqb_size; /* size of header+free structs */
uchar_t sqb_pexited; /* process has exited */
! uint_t sqb_sent; /* number of sigq sent */
kcondvar_t sqb_cv; /* waiting for a sigq struct */
kmutex_t sqb_lock; /* lock for sigq pool */
} sigqhdr_t;
! /*
! * Limits on maximum number of sigqueue(3C) entries per process.
! */
! #define _SIGQSZ_DEFAULT 128 /* default number */
! #define _SIGQSZ_PRIVILEGED 512 /* privilege required to set abouve */
! #define _SIGQSZ_MAX 8192 /* max even with privilege */
!
#define _SIGNOTIFY_MAX 32
extern void setsigact(int, void (*)(int), const k_sigset_t *, int);
extern void sigorset(k_sigset_t *, const k_sigset_t *);
extern void sigandset(k_sigset_t *, const k_sigset_t *);