summaryrefslogtreecommitdiff
path: root/libports/manage-one-thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'libports/manage-one-thread.c')
-rw-r--r--libports/manage-one-thread.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libports/manage-one-thread.c b/libports/manage-one-thread.c
index b920338f..d410c1b3 100644
--- a/libports/manage-one-thread.c
+++ b/libports/manage-one-thread.c
@@ -18,6 +18,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
+#include <hurd/introspection.h>
+
#include "ports.h"
void
@@ -80,6 +82,10 @@ ports_manage_port_operations_one_thread (struct port_bucket *bucket,
if (pi)
{
+ mach_port_t trace_port = pi->class->trace_port;
+ if (__builtin_expect (MACH_PORT_VALID (trace_port), 0))
+ introspection_trace_message (trace_port, inp);
+
err = ports_begin_rpc (pi, inp->msgh_id, &link);
if (err)
{
@@ -96,6 +102,10 @@ ports_manage_port_operations_one_thread (struct port_bucket *bucket,
ports_end_rpc (pi, &link);
}
ports_port_deref (pi);
+
+ if (__builtin_expect (MACH_PORT_VALID (trace_port), 0)
+ && outp->RetCode != MIG_NO_REPLY)
+ introspection_trace_message (trace_port, outp);
}
else
{