File tree Expand file tree Collapse file tree 2 files changed +7
-7
lines changed Expand file tree Collapse file tree 2 files changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -198,7 +198,7 @@ func (pg *ProcessGroup) handleOrphan() {
198
198
199
199
// See if there are any stopped jobs.
200
200
hasStopped := false
201
- pg .originator .pidns .owner .forEachThreadGroupLocked (func (tg * ThreadGroup ) {
201
+ pg .originator .pidns .owner .forEachThreadGroupLocked (func (tg * ThreadGroup , _ * Task ) {
202
202
if tg .processGroup != pg {
203
203
return
204
204
}
@@ -213,13 +213,13 @@ func (pg *ProcessGroup) handleOrphan() {
213
213
}
214
214
215
215
// Deliver appropriate signals to all thread groups.
216
- pg .originator .pidns .owner .forEachThreadGroupLocked (func (tg * ThreadGroup ) {
216
+ pg .originator .pidns .owner .forEachThreadGroupLocked (func (tg * ThreadGroup , tgLeader * Task ) {
217
217
if tg .processGroup != pg {
218
218
return
219
219
}
220
220
tg .signalHandlers .mu .NestedLock (signalHandlersLockTg )
221
- tg . leader .sendSignalLocked (SignalInfoPriv (linux .SIGHUP ), true /* group */ )
222
- tg . leader .sendSignalLocked (SignalInfoPriv (linux .SIGCONT ), true /* group */ )
221
+ tgLeader .sendSignalLocked (SignalInfoPriv (linux .SIGHUP ), true /* group */ )
222
+ tgLeader .sendSignalLocked (SignalInfoPriv (linux .SIGCONT ), true /* group */ )
223
223
tg .signalHandlers .mu .NestedUnlock (signalHandlersLockTg )
224
224
})
225
225
Original file line number Diff line number Diff line change @@ -113,7 +113,7 @@ func newTaskSet(pidns *PIDNamespace) *TaskSet {
113
113
}
114
114
115
115
// ForEachThreadGroup applies f to each thread group in ts.
116
- func (ts * TaskSet ) ForEachThreadGroup (f func (tg * ThreadGroup )) {
116
+ func (ts * TaskSet ) ForEachThreadGroup (f func (tg * ThreadGroup , tgLeader * Task )) {
117
117
ts .mu .RLock ()
118
118
defer ts .mu .RUnlock ()
119
119
ts .forEachThreadGroupLocked (f )
@@ -122,9 +122,9 @@ func (ts *TaskSet) ForEachThreadGroup(f func(tg *ThreadGroup)) {
122
122
// forEachThreadGroupLocked applies f to each thread group in ts.
123
123
//
124
124
// Preconditions: ts.mu must be locked (for reading or writing).
125
- func (ts * TaskSet ) forEachThreadGroupLocked (f func (tg * ThreadGroup )) {
125
+ func (ts * TaskSet ) forEachThreadGroupLocked (f func (tg * ThreadGroup , tgLeader * Task )) {
126
126
for tg := range ts .Root .tgids {
127
- f (tg )
127
+ f (tg , tg . leader )
128
128
}
129
129
}
130
130
You can’t perform that action at this time.
0 commit comments