Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\signal.c Create Date:2022-07-28 09:16:42
Last Modify:2020-03-17 13:28:47 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:do_signal_stop - handle group stop for SIGSTOP and other stop signals*@signr: signr causing group stop if initiating* If %JOBCTL_STOP_PENDING is not set yet, initiate group stop with @signr* and participate in it

Proto:static bool do_signal_stop(int signr)__releases(&get_current()->sighand->siglock)

Type:bool

Parameter:

TypeParameterName
intsignr
2302  sig = signal
2304  If Not (jobctl & JOBCTL_STOP_PENDING) Then
2305  gstop = JOBCTL_STOP_PENDING | JOBCTL_STOP_CONSUME
2309  WARN_ON_ONCE(signr & ~signr of the last group stop )
2311  If Not Value is more likely to compile time(jobctl & JOBCTL_STOP_DEQUEUED) || Value for the false possibility is greater at compile time(If true, all threads except ->group_exit_task have pending SIGKILL ) Then Return false
2333  If Not (see SIGNAL_* flags below & job control stop in effect ) Then hread group exit support = signr
2336  hread group stop support, overloads group_exit_code too = 0
2338  If ask_set_jobctl_pending - set jobctl pending bits*@task: target task*@mask: pending bits to set* Clear @mask from @task->jobctl. @mask must be subset of* %JOBCTL_PENDING_MASK | %JOBCTL_STOP_CONSUME | %JOBCTL_STOP_SIGMASK |* %JOBCTL_TRAPPING Then hread group stop support, overloads group_exit_code too ++
2341  t = current process
2359  If Value is more likely to compile time(!ptrace) Then
2360  notify = 0
2367  If ask_participate_group_stop - participate in a group stop*@task: task participating in a group stop*@task has %JOBCTL_STOP_PENDING set and is participating in a group stop.* Group stop states are cleared and the group stop count is consumed if Then notify = child has stopped
2370  set_special_state() should be used for those states when the blocking task* can not use the regular condition based wait-loop. In that case we must* serialize against wakeups such that any possible in-flight TASK_RUNNING stores(TASK_STOPPED)
2371  spin_unlock_irq( & siglock)
2382  If notify Then
2389  cgroup_enter_frozen()
2390  freezable_schedule()
2391  Return true
2392  Else
2397  ask_set_jobctl_pending - set jobctl pending bits*@task: target task*@mask: pending bits to set* Clear @mask from @task->jobctl. @mask must be subset of* %JOBCTL_PENDING_MASK | %JOBCTL_STOP_CONSUME | %JOBCTL_STOP_SIGMASK |* %JOBCTL_TRAPPING
2398  Return false
Caller
NameDescribe
get_signal