summaryrefslogtreecommitdiff
path: root/openbsd-compat
diff options
context:
space:
mode:
Diffstat (limited to 'openbsd-compat')
-rw-r--r--openbsd-compat/port-solaris.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/openbsd-compat/port-solaris.c b/openbsd-compat/port-solaris.c
index f57433e78..2ab64d487 100644
--- a/openbsd-compat/port-solaris.c
+++ b/openbsd-compat/port-solaris.c
@@ -1,4 +1,4 @@
1/* $Id: port-solaris.c,v 1.2 2006/09/01 05:38:41 djm Exp $ */ 1/* $Id: port-solaris.c,v 1.3 2006/10/31 23:28:49 dtucker Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2006 Chad Mynhier. 4 * Copyright (c) 2006 Chad Mynhier.
@@ -86,18 +86,27 @@ solaris_contract_pre_fork(void)
86 debug2("%s: setting up process contract template on fd %d", 86 debug2("%s: setting up process contract template on fd %d",
87 __func__, tmpl_fd); 87 __func__, tmpl_fd);
88 88
89 /* We have to set certain attributes before activating the template */ 89 /* First we set the template parameters and event sets. */
90 if (ct_pr_tmpl_set_fatal(tmpl_fd, 90 if (ct_pr_tmpl_set_param(tmpl_fd, CT_PR_PGRPONLY) != 0) {
91 CT_PR_EV_HWERR|CT_PR_EV_SIGNAL|CT_PR_EV_CORE) != 0) { 91 error("%s: Error setting process contract parameter set "
92 "(pgrponly): %s", __func__, strerror(errno));
93 goto fail;
94 }
95 if (ct_pr_tmpl_set_fatal(tmpl_fd, CT_PR_EV_HWERR) != 0) {
92 error("%s: Error setting process contract template " 96 error("%s: Error setting process contract template "
93 "fatal events: %s", __func__, strerror(errno)); 97 "fatal events: %s", __func__, strerror(errno));
94 goto fail; 98 goto fail;
95 } 99 }
96 if (ct_tmpl_set_critical(tmpl_fd, CT_PR_EV_HWERR) != 0) { 100 if (ct_tmpl_set_critical(tmpl_fd, 0) != 0) {
97 error("%s: Error setting process contract template " 101 error("%s: Error setting process contract template "
98 "critical events: %s", __func__, strerror(errno)); 102 "critical events: %s", __func__, strerror(errno));
99 goto fail; 103 goto fail;
100 } 104 }
105 if (ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) != 0) {
106 error("%s: Error setting process contract template "
107 "informative events: %s", __func__, strerror(errno));
108 goto fail;
109 }
101 110
102 /* Now make this the active template for this process. */ 111 /* Now make this the active template for this process. */
103 if (ct_tmpl_activate(tmpl_fd) != 0) { 112 if (ct_tmpl_activate(tmpl_fd) != 0) {