fix setting non-blocking and CLOEXEC
make all glib2 warnings fatal