backport r27401 (preserve errno when releasing GVL)
Not sure if there's going to be another 1.9.1 release, but when using
IO#read_nonblock, I've seen rb_bug() from rb_sys_fail() because errno == 0 under 1.9.1.
So r27401 from 1.9.2/trunk should fix the issue, but I'll probably abandon 1.9.1 for
1.9.2 soon anyways.