On Mon, Feb 28, 2022 at 5:08 AM LordRusk <zombiekiller19...@gmail.com> wrote: > > It seems this does not work. Any code ran from a C signal handler must be > async-signal-safe, no go code is async-signal-safe, so it sigfaults when you > try this. https://github.com/golang/go/issues/45499
You can't call Go code directly from the C signal handler, no. But whatever mechanism you use to make C code aware that a signal occurred can also be used to make Go code aware that a signal occurred. > I really wish there was a way to get around this, there is really no go api > for anything to do with signals beyond what can be implemented cross platform. > > for instance, there's been an issue that's almost 8 years old about the > siginfo_t > struct being inaccessible from go. https://github.com/golang/go/issues/9764 > > I don't think anything will come of this soon. Go is an open source project. That issue will be fixed if someone develops a workable API. Ian > On Friday, August 16, 2019 at 9:46:06 PM UTC-7 Ian Lance Taylor wrote: >> >> On Tue, Aug 13, 2019 at 1:03 AM hui zhang <fastf...@gmail.com> wrote: >> > >> > in other words >> > we need a go runtime signal mask . >> > just google, no such api provided by go yet . >> > I want know why ? >> > any workaround? >> >> All the details of signal handling in Go can be seen at >> https://golang.org/pkg/os/signal. >> >> There is no Go API to set the signal mask because the os/signal >> package is intended to handle that for you. >> >> It's hard to combine C and Go code in the same program and have them >> both do signal handling. If your C program sends itself a signal >> periodically, then I recommend that you have your C code call >> sigaction to override the Go signal handler. If the Go code needs to >> know about the signal, have the C code call a Go function to do so. >> >> Ian > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/c81fa217-210e-4d11-a794-722d5cc64b62n%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAOyqgcWEDeVVAmQ2S7NETAddgY3REkX1KJJt5u_OADUKCduTnw%40mail.gmail.com.