summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/brand/lx/os/lx_misc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr/src/uts/common/brand/lx/os/lx_misc.c b/usr/src/uts/common/brand/lx/os/lx_misc.c
index 5674676053..974d0cc22d 100644
--- a/usr/src/uts/common/brand/lx/os/lx_misc.c
+++ b/usr/src/uts/common/brand/lx/os/lx_misc.c
@@ -74,9 +74,19 @@ lx_exec()
{
klwp_t *lwp = ttolwp(curthread);
struct lx_lwp_data *lwpd = lwptolxlwp(lwp);
+ proc_t *p = ttoproc(curthread);
+ lx_proc_data_t *pd = p->p_brand_data;
int err;
/*
+ * Any l_handler handlers set as a result of B_REGISTER are now
+ * invalid; clear them.
+ */
+ pd->l_handler = NULL;
+ pd->l_tracehandler = NULL;
+ pd->l_traceflag = NULL;
+
+ /*
* There are two mutually exclusive special cases we need to
* address. First, if this was a native process prior to this
* exec(), then this lwp won't have its brand-specific data