Allow multiple outstanding responses
Previously, the send() goroutine would block until an executed response
handler wrote a response to the response channel. If a response handler
does not write a response to the channel immediately, e.g. because it
blocks on some sort of event, neinp would not process further messages
until this response handler unblocks. This is due to the fact that the
send goroutine would be blocked on the response channel.
This commit allows for multiple outstanding responses by executing a
separate send goroutine for each response. Additionally a mutex is
utilized to prevent concurrent writes to the socket. Response handler
error handling has also been slightly adjusted accordingly.
test cross os builds for plan9, openbsd and darwin
thanks qbit :)
Split FileInfo into separate files that can be used per OS.
This allows neinp to be used on Darwin and plan9.
add go vet and golint to build
only mail on build failure
use custom go.rbn.im import path
fix url in path, now point to sr.ht url
fix git url in .build.yml
use archlinux in .build.yml
move to sr.ht and go modulize