func minit() {
// Initialize signal handling.
_g_ := getg()
- signalstack((*byte)(unsafe.Pointer(_g_.m.gsignal.stack.lo)), 32*1024)
+ signalstack(&_g_.m.gsignal.stack)
// restore signal mask from m.sigmask and unblock essential signals
nmask := *(*uint32)(unsafe.Pointer(&_g_.m.sigmask))
_g_ := getg()
smask := (*uint32)(unsafe.Pointer(&_g_.m.sigmask))
sigprocmask(_SIG_SETMASK, smask, nil)
- signalstack(nil, 0)
+ signalstack(nil)
}
// Mach IPC, to get at semaphores
return *(*uintptr)(unsafe.Pointer(&sa.__sigaction_u))
}
-func signalstack(p *byte, n int32) {
+func signalstack(s *stack) {
var st stackt
- st.ss_sp = p
- st.ss_size = uintptr(n)
- st.ss_flags = 0
- if p == nil {
+ if s == nil {
st.ss_flags = _SS_DISABLE
+ } else {
+ st.ss_sp = (*byte)(unsafe.Pointer(s.lo))
+ st.ss_size = s.hi - s.lo
+ st.ss_flags = 0
}
sigaltstack(&st, nil)
}
_g_.m.procid = uint64(*(*int32)(unsafe.Pointer(&_g_.m.procid)))
// Initialize signal handling
- signalstack((*byte)(unsafe.Pointer(_g_.m.gsignal.stack.lo)), 32*1024)
+ signalstack(&_g_.m.gsignal.stack)
// restore signal mask from m.sigmask and unblock essential signals
nmask := *(*sigset)(unsafe.Pointer(&_g_.m.sigmask))
_g_ := getg()
smask := (*sigset)(unsafe.Pointer(&_g_.m.sigmask))
sigprocmask(smask, nil)
- signalstack(nil, 0)
+ signalstack(nil)
}
func memlimit() uintptr {
return sa.sa_sigaction
}
-func signalstack(p *byte, n int32) {
+func signalstack(s *stack) {
var st sigaltstackt
- st.ss_sp = uintptr(unsafe.Pointer(p))
- st.ss_size = uintptr(n)
- st.ss_flags = 0
- if p == nil {
+ if s == nil {
st.ss_flags = _SS_DISABLE
+ } else {
+ st.ss_sp = s.lo
+ st.ss_size = s.hi - s.lo
+ st.ss_flags = 0
}
sigaltstack(&st, nil)
}
}
// Initialize signal handling.
- signalstack((*byte)(unsafe.Pointer(_g_.m.gsignal.stack.lo)), 32*1024)
+ signalstack(&_g_.m.gsignal.stack)
// restore signal mask from m.sigmask and unblock essential signals
nmask := *(*sigset)(unsafe.Pointer(&_g_.m.sigmask))
_g_ := getg()
smask := (*sigset)(unsafe.Pointer(&_g_.m.sigmask))
sigprocmask(smask, nil)
- signalstack(nil, 0)
+ signalstack(nil)
}
func memlimit() uintptr {
return sa.sa_handler
}
-func signalstack(p *byte, n int32) {
+func signalstack(s *stack) {
var st stackt
- st.ss_sp = uintptr(unsafe.Pointer(p))
- st.ss_size = uintptr(n)
- st.ss_flags = 0
- if p == nil {
+ if s == nil {
st.ss_flags = _SS_DISABLE
+ } else {
+ st.ss_sp = s.lo
+ st.ss_size = s.hi - s.lo
+ st.ss_flags = 0
}
sigaltstack(&st, nil)
}
func minit() {
// Initialize signal handling.
_g_ := getg()
- signalstack((*byte)(unsafe.Pointer(_g_.m.gsignal.stack.lo)), 32*1024)
+ signalstack(&_g_.m.gsignal.stack)
// restore signal mask from m.sigmask and unblock essential signals
nmask := *(*sigset)(unsafe.Pointer(&_g_.m.sigmask))
_g_ := getg()
smask := (*sigset)(unsafe.Pointer(&_g_.m.sigmask))
rtsigprocmask(_SIG_SETMASK, smask, nil, int32(unsafe.Sizeof(*smask)))
- signalstack(nil, 0)
+ signalstack(nil)
}
func memlimit() uintptr {
return sa.sa_handler
}
-func signalstack(p *byte, n int32) {
+func signalstack(s *stack) {
var st sigaltstackt
- st.ss_sp = p
- st.ss_size = uintptr(n)
- st.ss_flags = 0
- if p == nil {
+ if s == nil {
st.ss_flags = _SS_DISABLE
+ } else {
+ st.ss_sp = (*byte)(unsafe.Pointer(s.lo))
+ st.ss_size = s.hi - s.lo
+ st.ss_flags = 0
}
sigaltstack(&st, nil)
}
_g_.m.procid = uint64(lwp_self())
// Initialize signal handling
- signalstack((*byte)(unsafe.Pointer(_g_.m.gsignal.stack.lo)), 32*1024)
+ signalstack(&_g_.m.gsignal.stack)
// restore signal mask from m.sigmask and unblock essential signals
nmask := *(*sigset)(unsafe.Pointer(&_g_.m.sigmask))
smask := (*sigset)(unsafe.Pointer(&_g_.m.sigmask))
sigprocmask(_SIG_SETMASK, smask, nil)
- signalstack(nil, 0)
+ signalstack(nil)
}
func memlimit() uintptr {
return sa.sa_sigaction
}
-func signalstack(p *byte, n int32) {
+func signalstack(s *stack) {
var st sigaltstackt
-
- st.ss_sp = uintptr(unsafe.Pointer(p))
- st.ss_size = uintptr(n)
- st.ss_flags = 0
- if p == nil {
+ if s == nil {
st.ss_flags = _SS_DISABLE
+ } else {
+ st.ss_sp = s.lo
+ st.ss_size = s.hi - s.lo
+ st.ss_flags = 0
}
sigaltstack(&st, nil)
}
_g_.m.procid = uint64(*(*int32)(unsafe.Pointer(&_g_.m.procid)))
// Initialize signal handling
- signalstack((*byte)(unsafe.Pointer(_g_.m.gsignal.stack.lo)), 32*1024)
+ signalstack(&_g_.m.gsignal.stack)
// restore signal mask from m.sigmask and unblock essential signals
nmask := *(*uint32)(unsafe.Pointer(&_g_.m.sigmask))
_g_ := getg()
smask := *(*uint32)(unsafe.Pointer(&_g_.m.sigmask))
sigprocmask(_SIG_SETMASK, smask)
- signalstack(nil, 0)
+ signalstack(nil)
}
func memlimit() uintptr {
return sa.sa_sigaction
}
-func signalstack(p *byte, n int32) {
+func signalstack(s *stack) {
var st stackt
-
- st.ss_sp = uintptr(unsafe.Pointer(p))
- st.ss_size = uintptr(n)
- st.ss_flags = 0
- if p == nil {
+ if s == nil {
st.ss_flags = _SS_DISABLE
+ } else {
+ st.ss_sp = s.lo
+ st.ss_size = s.hi - s.lo
+ st.ss_flags = 0
}
sigaltstack(&st, nil)
}
_g_ := getg()
asmcgocall(unsafe.Pointer(funcPC(miniterrno)), unsafe.Pointer(&libc____errno))
// Initialize signal handling
- signalstack((*byte)(unsafe.Pointer(_g_.m.gsignal.stack.lo)), 32*1024)
+ signalstack(&_g_.m.gsignal.stack)
// restore signal mask from m.sigmask and unblock essential signals
nmask := *(*sigset)(unsafe.Pointer(&_g_.m.sigmask))
smask := (*sigset)(unsafe.Pointer(&_g_.m.sigmask))
sigprocmask(_SIG_SETMASK, smask, nil)
- signalstack(nil, 0)
+ signalstack(nil)
}
func memlimit() uintptr {
return *((*uintptr)(unsafe.Pointer(&sa._funcptr)))
}
-func signalstack(p *byte, n int32) {
+func signalstack(s *stack) {
var st sigaltstackt
- st.ss_sp = (*byte)(unsafe.Pointer(p))
- st.ss_size = uint64(n)
- st.ss_flags = 0
- if p == nil {
+ if s == nil {
st.ss_flags = _SS_DISABLE
+ } else {
+ st.ss_sp = (*byte)(unsafe.Pointer(s.lo))
+ st.ss_size = uint64(s.hi - s.lo)
+ st.ss_flags = 0
}
sigaltstack(&st, nil)
}