1TAPSET::SIGNAL(3stap) TAPSET::SIGNAL(3stap)
2
3
4
6 tapset::signal - systemtap signal probe points
7
8
9
11 This family of probe points is used to probe signal activities. It
12 contains the following probe points:
13
14
15 signal.send
16
17 Fires when a signal is sent to a process
18
19 Arguments:
20
21 sig
22 signal number
23
24 sig_name
25 a string representation of the signal
26
27 sig_pid
28 pid of the signal recipient process
29
30 pid_name
31 name of the signal recipient process
32
33 si_code
34 indicates the signal type
35
36 task
37 a task handle to the signal recipient
38
39 sinfo
40 the address of siginfo struct
41
42 shared
43 indicates whether this signal is shared by the thread group
44
45 send2queue
46 indicates whether this signal is sent to an existing sigqueue
47
48 name
49 name of the function used to send out this signal
50
51
52 signal.send.return
53
54 Fires when return from sending a signal
55
56 Arguments:
57
58 retstr
59 the return value
60
61 Return values for "__group_send_sig_info" and "spe‐
62 cific_send_sig_info"
63
64 - return 0 if the signal is successfully sent to a
65 process, which means the following:
66
67 <1> the signal is ignored by receiving process
68
69 <2> this is a non-RT signal and we already have one
70 queued
71
72 <3> the signal is successfully added into the sigqueue of
73 receiving process
74
75 - return -EAGAIN if the sigqueue is overflow the signal
76 was RT and sent by user using something other than kill()
77
78 Return values for "send_group_sigqueue"
79
80 - return 0 if the signal is either successfully added
81 into the sigqueue of receiving process or a SI_TIMER
82 entry is already queued so just increment the overrun
83 count
84
85 - return 1 if this signal is ignored by receiving process
86
87 Return values for "send_sigqueue"
88
89 - return 0 if the signal is either successfully added
90 into the sigqueue of receiving process or a SI_TIMER
91 entry is already queued so just increment the overrun
92 count
93
94 - return 1 if this signal is ignored by receiving process
95
96 - return -1 if the task is marked exiting, so
97 posix_timer_event can redirect it to the group leader
98
99 shared
100 indicates whether this signal is shared by the thread group
101
102 send2queue
103 indicates whether this signal is sent to an existing sigqueue
104
105 name
106 name of the function used to send out this signal
107
108
109
110 signal.checkperm
111
112 Fires when check permissions for sending the signal
113
114 Arguments:
115
116 sig
117 the number of the signal
118
119 sig_name
120 a string representation of the signal
121
122 sig_pid
123 pid of the signal recipient process
124
125 pid_name
126 name of the signal recipient process
127
128 si_code
129 indicates the signal type
130
131 task
132 a task handle to the signal recipient
133
134 sinfo
135 the address of siginfo struct
136
137 name
138 name of the probe point, is set to "signal.checkperm"
139
140
141 signal.checkperm.return
142
143 Fires when return from permissions check for sending a signal
144
145 Arguments:
146
147 retstr
148 the return value
149
150 name
151 name of the probe point, is set to "signal.checkperm"
152
153
154 signal.wakeup
155
156 Fires when wake up the process for new active signals
157
158 Arguments:
159
160 sig_pid
161 pid of the process to be woke up
162
163 pid_name
164 name of the process to be woke up
165
166 resume
167 indicate whether to wake up a task in STOPPED or TRACED state
168
169 state_mask
170 a string representation indicate the mask of task states that
171 can be woken. Possible values are (TASK_INTERRUPT‐
172 IBLE|TASK_STOPPED|TASK_TRACED) and TASK_INTERRUPTIBLE.
173
174
175 signal.check_ignored
176
177 Fires when check whether the signal is ignored or not
178
179 Arguments:
180
181 sig_pid
182 pid of the signal recipient process
183
184 pid_name
185 name of the signal recipient process
186
187 sig
188 the signal to be checked
189
190 sig_name
191 name of the signal
192
193
194 signal.check_ignored.return
195
196 Fires when return from signal.check_ignored
197
198 Arguments:
199
200 retstr
201 return value. 0 indicate the current signal isn't ignored.
202
203
204 signal.force_segv
205
206 Forces SIGSEGV when there are some issues while handling signals
207 for the process
208
209 Arguments:
210
211 sig_pid
212 pid of the signal recipient process
213
214 pid_name
215 name of the signal recipient process
216
217 sig
218 the signal being handled
219
220 sig_name
221 name of this signal
222
223
224 signal.force_segv.return
225
226 Fires when return from signal.force_segv
227
228 Arguments:
229
230 retstr
231 return value. Always return 0
232
233
234 signal.syskill
235
236 Fires when sys_kill is called to send a signal to a process.
237
238 Arguments:
239
240 pid
241 pid of the recipient process
242
243 sig
244 the signal to be sent
245
246
247 signal.syskill.return
248
249 Fires when returning from sys_kill
250
251
252 signal.tgkill
253
254 Fires when sys_tgkill is called to send a signal to one specific
255 thread
256
257 Arguments:
258
259 pid
260 pid of the recipient thread
261
262 tgid
263 thread group id which the target thread should have
264
265 sig
266 the signal to be sent
267
268
269 signal.tgkill.return
270
271 Fires when returning from sys_tgkill
272
273
274 signal.tkill
275
276 Fires when sys_tkill is called to send a signal to a single
277 process.
278
279 Arguments:
280
281 pid
282 pid of the recipient process
283
284 sig
285 the signal to be sent
286
287
288 signal.tkill.return
289
290 Fires when returning from sys_tkill
291
292
293 signal.send_sig_queue
294
295 Fires when queue a signal to a process
296
297 Arguments:
298
299 sig
300 the signal to be queued
301
302 sig_name
303 name of this signal
304
305 sig_pid
306 pid of the process to which the signal is queued
307
308 pid_name
309 name of the process to which the signal is queued
310
311 sigqueue_addr
312 address of the signal queue
313
314
315 signal.send_sig_queue.return
316
317 Fires when return from signal.send_sig_queue
318
319 Arguments:
320
321 retstr
322 return value
323
324
325 signal.pending
326
327 Fires when examine the set of signals that are pending for
328 delivery to the calling thread
329
330 Arguments:
331
332 sigset_add
333 address of user space sigset_t
334
335 sigset_size
336 sigset size
337
338
339 signal.pending.return
340
341 Fires when return from signal.pending
342
343 Arguments:
344
345 retstr
346 return value
347
348
349 signal.handle
350
351 Fires when invoking the signal handler
352
353 Arguments:
354
355 sig
356 signal number
357
358 sig_name
359 signal name
360
361 sinfo
362 address of siginfo struct
363
364 sig_code
365 the si_code of siginfo
366
367 ka_addr
368 Address of the k_sigaction struct associated with the signal
369
370 oldset_addr
371 Address of a bit mask array of blocked signals
372
373 sig_mode
374 indicates whether the signal is a User Mode or Kernel mode
375 Signal
376
377
378 signal.handle.return
379
380 Fires when return from signal.handle
381
382 Arguments:
383
384 retstr
385 return value of handle_signal()
386
387
388 signal.do_action
389
390 Fires by calling thread to examine and change a signal action
391
392 Arguments:
393
394 sig
395 signal number
396
397 sigact_addr
398 address of the new sigaction struct associated with the signal
399
400 oldsigact_addr
401 address of a previous sigaction struct associated with the
402 signal
403
404 sa_handler
405 the new handler of the signal
406
407 sa_mask
408 the new mask of the signal
409
410
411 signal.do_action.return
412
413 Fires when return from signal.do_action
414
415 Arguments:
416
417 retstr
418 return value of do_sigaction()
419
420
421 signal.procmask
422
423 Fires by calling thread to examine and change blocked signals
424
425 Arguments:
426
427 how
428 indicates how to change the blocked signals.
429 Possible values are:
430 SIG_BLOCK=0 for blocking signals
431 SIG_UNBLOCK=1 for unblocking signals
432 SIG_SETMASK=2 for setting the signal mask
433
434 sigset_addr
435 address of sigset_t to be set
436
437 oldsigset_addr
438 address of the old sigset_t
439
440 sigset
441 the actual sigset to be set
442
443
444 signal.procmask.return
445
446 Fires when return from signal.procmask
447
448 Arguments:
449
450 retstr
451 return value of sigprocmask()
452
453
454 signal.flush
455
456 Fires when flush all pending signals for a task
457
458 Arguments:
459
460 task
461 the task handler of the process
462
463 sig_pid
464 pid of the task
465
466 pid_name
467 name of the task
468
469
471 stap(1), stapprobes(3stap)
472
473
474
475
476IBM TAPSET::SIGNAL(3stap)