- TP_STRUCT__entry(
- __field( int, sig )
- __field( int, errno )
- __field( int, code )
- __field( unsigned long, sa_handler )
- __field( unsigned long, sa_flags )
- ),
-
- TP_fast_assign(
- tp_assign(sig, sig)
- TP_STORE_SIGINFO(info)
- tp_assign(sa_handler, (unsigned long)ka->sa.sa_handler)
- tp_assign(sa_flags, ka->sa.sa_flags)
- ),
-
- TP_printk("sig=%d errno=%d code=%d sa_handler=%lx sa_flags=%lx",
- __entry->sig, __entry->errno, __entry->code,
- __entry->sa_handler, __entry->sa_flags)
-)
-
-DECLARE_EVENT_CLASS(signal_queue_overflow,
-
- TP_PROTO(int sig, int group, struct siginfo *info),
-
- TP_ARGS(sig, group, info),
-
- TP_STRUCT__entry(
- __field( int, sig )
- __field( int, group )
- __field( int, errno )
- __field( int, code )
- ),
-
- TP_fast_assign(
- tp_assign(sig, sig)
- tp_assign(group, group)
- TP_STORE_SIGINFO(info)
- ),
-
- TP_printk("sig=%d group=%d errno=%d code=%d",
- __entry->sig, __entry->group, __entry->errno, __entry->code)
-)
-
-/**
- * signal_overflow_fail - called when signal queue is overflow
- * @sig: signal number
- * @group: signal to process group or not (bool)
- * @info: pointer to struct siginfo
- *
- * Kernel fails to generate 'sig' signal with 'info' siginfo, because
- * siginfo queue is overflow, and the signal is dropped.
- * 'group' is not 0 if the signal will be sent to a process group.
- * 'sig' is always one of RT signals.
- */
-DEFINE_EVENT(signal_queue_overflow, signal_overflow_fail,
-
- TP_PROTO(int sig, int group, struct siginfo *info),
-
- TP_ARGS(sig, group, info)
-)
-
-/**
- * signal_lose_info - called when siginfo is lost
- * @sig: signal number
- * @group: signal to process group or not (bool)
- * @info: pointer to struct siginfo
- *
- * Kernel generates 'sig' signal but loses 'info' siginfo, because siginfo
- * queue is overflow.
- * 'group' is not 0 if the signal will be sent to a process group.
- * 'sig' is always one of non-RT signals.
- */
-DEFINE_EVENT(signal_queue_overflow, signal_lose_info,
-
- TP_PROTO(int sig, int group, struct siginfo *info),
-
- TP_ARGS(sig, group, info)