signal_darwin_amd64.go (go1.19.src) | : | signal_darwin_amd64.go (go1.19.1.src) | ||
---|---|---|---|---|
skipping to change at line 87 | skipping to change at line 87 | |||
// a user-generated signal (like someone ran kill -SEGV ourpid). | // a user-generated signal (like someone ran kill -SEGV ourpid). | |||
// We pass user-generated signals to os/signal, or else ignore th em. | // We pass user-generated signals to os/signal, or else ignore th em. | |||
// Doing that here - and returning to the faulting code - results in an | // Doing that here - and returning to the faulting code - results in an | |||
// infinite loop. It appears the best we can do is rewrite what t he kernel | // infinite loop. It appears the best we can do is rewrite what t he kernel | |||
// delivers into something more like the truth. The address used below | // delivers into something more like the truth. The address used below | |||
// has very little chance of being the one that caused the fault, but it is | // has very little chance of being the one that caused the fault, but it is | |||
// malformed, it is clearly not a real pointer, and if it does ge t printed | // malformed, it is clearly not a real pointer, and if it does ge t printed | |||
// in real life, people will probably search for it and find this code. | // in real life, people will probably search for it and find this code. | |||
// There are no Google hits for b01dfacedebac1e or 0xb01dfacedeba c1e | // There are no Google hits for b01dfacedebac1e or 0xb01dfacedeba c1e | |||
// as I type this comment. | // as I type this comment. | |||
// | ||||
// Note: if this code is removed, please consider | ||||
// enabling TestSignalForwardingGo for darwin-amd64 in | ||||
// misc/cgo/testcarchive/carchive_test.go. | ||||
if c.sigcode() == _SI_USER { | if c.sigcode() == _SI_USER { | |||
c.set_sigcode(_SI_USER + 1) | c.set_sigcode(_SI_USER + 1) | |||
c.set_sigaddr(0xb01dfacedebac1e) | c.set_sigaddr(0xb01dfacedebac1e) | |||
} | } | |||
} | } | |||
} | } | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 4 lines changed or added |