On Fri, Jan 25, 2019 at 08:41:54PM +0100, Silvan Jegen wrote: > The opinions on Go are mixed on this list from what I remember.
Oh boy, that again. If you wait a minute, someone will tell you that Go is bloated because a Hello World clocks in at 2MB or something. I have a different problem with Go: Their insistence on reinventing the wheel. I am also subscribed to the musl mailing list, and recently there's been a thread about a Go program going into a deadlock. Investigation revealed that the Go runtime does not use the libc functions for sigfillset() or sigprocmask(), but rather, fills a buffer with 1-bits and wraps the system call directly, respectively. Which of course blocks libc internal signals. They made it work on glibc by somehow exempting SIGRT32 and SIGRT33, but musl also needs to be able to use SIGRT34. Wouldn't be a problem if they just used the defined interfaces, but they don't. Would also not be a problem if the Go runtime entirely supplanted the libc. Go whole hog or not at all, is my opinion. The current in-between solution suffers from the worst of both worlds. Ciao, Markus