Print this page
3830 SIGQUEUE_MAX's limit of 32 is too low
Reviewed by: Cedric Blancher <cedric.blancher@gmail.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Reviewed by: Irek Szczesniak <iszczesniak@gmail.com>

*** 45,54 **** --- 45,56 ---- #include <sys/mman.h> #include <sys/timer.h> #include <sys/zone.h> #include <sys/vm_usage.h> + extern rctl_hndl_t rc_process_sigqueue; + long sysconfig(int which) { switch (which) {
*** 138,148 **** case _CONFIG_SEM_VALUE_MAX: return (_SEM_VALUE_MAX); case _CONFIG_SIGQUEUE_MAX: ! return (_SIGQUEUE_MAX); case _CONFIG_SIGRT_MIN: return (_SIGRTMIN); case _CONFIG_SIGRT_MAX: --- 140,160 ---- case _CONFIG_SEM_VALUE_MAX: return (_SEM_VALUE_MAX); case _CONFIG_SIGQUEUE_MAX: ! /* ! * Maximum number of outstanding queued signals. ! */ ! { ! rlim64_t sigqsz_max; ! mutex_enter(&curproc->p_lock); ! sigqsz_max = rctl_enforced_value(rc_process_sigqueue, ! curproc->p_rctls, curproc); ! mutex_exit(&curproc->p_lock); ! return ((uint_t)sigqsz_max); ! } case _CONFIG_SIGRT_MIN: return (_SIGRTMIN); case _CONFIG_SIGRT_MAX: