3 ms·
I recently came up against this when deciding on a language to implement a POSIX-api backed utility. Go does not have the fork(2) POSIX API. This makes it much
by jitl 9y ago
I recently came up against this when deciding on a language to implement a POSIX-api backed utility.
Go does not have the fork(2) POSIX API. This makes it much more difficult to spawn a process with precise POSIX semantics.
Another issue is that when a goroutine (a fiber running in an OS thread) makes a syscall that blocks, that goroutine might be un-scheduled and then later resumed on a different OS thread. If your syscall is one that operates on the call-in OS thread, this could cause poor results. I think there are some mitigation strategies, but these two issues make syscall programming frustrating in Go.