locking: include a memory barrier before unlocking.
merge recv* syscalls
merge send* syscall variants