static void direct_write_to_stdout (string s) { byte [] b = Encoding.Default.GetBytes (s); var len = (IntPtr) b.Length; while ((int) write (1, b, len) == -1 && Marshal.GetLastWin32Error () == /* EINTR*/ 4) ; }