summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/syscall/sysconfig.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/syscall/sysconfig.c')
-rw-r--r--usr/src/uts/common/syscall/sysconfig.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/usr/src/uts/common/syscall/sysconfig.c b/usr/src/uts/common/syscall/sysconfig.c
index e68f640045..26ea859224 100644
--- a/usr/src/uts/common/syscall/sysconfig.c
+++ b/usr/src/uts/common/syscall/sysconfig.c
@@ -48,6 +48,8 @@
#include <sys/zone.h>
#include <sys/vm_usage.h>
+extern rctl_hndl_t rc_process_sigqueue;
+
long
sysconfig(int which)
{
@@ -141,7 +143,17 @@ sysconfig(int which)
return (_SEM_VALUE_MAX);
case _CONFIG_SIGQUEUE_MAX:
- return (_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);