Dtrace: type mismatch in sys/kern/kern_sig.c

From: Anton Yuzhaninov <citrin_at_citrin.ru>
Date: Mon, 19 Sep 2011 15:24:32 +0000 (UTC)
In the file sys/kern/kern_sig.c defined DTrace probe proc:::signal-discard

SDT_PROBE_DEFINE(proc, kernel, , signal_discard, signal-discard);
SDT_PROBE_ARGTYPE(proc, kernel, , signal_discard, 0, "struct thread *");
SDT_PROBE_ARGTYPE(proc, kernel, , signal_discard, 1, "struct proc *");
SDT_PROBE_ARGTYPE(proc, kernel, , signal_discard, 2, "int");

Then latter this proble called as:

SDT_PROBE(proc, kernel, , signal_discard, ps, td, sig, 0, 0 );

type for var ps is struct sigacts* =! struct thread * (bug?)
type for var td is struct thread * =! struct proc * (bug?)
type for var sig is int == int (ok)

To match solaris DTrace probe shuild called as:

SDT_PROBE(proc, kernel, , signal_discard, td, p, sig, 0, 0 );

-- 
 Anton Yuzhaninov
Received on Mon Sep 19 2011 - 13:24:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:18 UTC