| 128 | **/ |
| 129 | |
| 130 | static void block_error() |
| 131 | { |
| 132 | |
| 133 | #ifdef NEKO_WINDOWS |
| 134 | int err = WSAGetLastError(); |
| 135 | // call ExitGCFreeZone after WSAGetLastError, WSAGetLastError is just an alias for GetLastError and |
| 136 | // calling ExitGCFreeZone will on some cases clear the lastError code. |
| 137 | hx::ExitGCFreeZone(); |
| 138 | if( err == WSAEWOULDBLOCK || err == WSAEALREADY ) |
| 139 | |
| 140 | #else |
| 141 | hx::ExitGCFreeZone(); |
| 142 | if( errno == EAGAIN || errno == EWOULDBLOCK || errno == EINPROGRESS || errno == EALREADY ) |
| 143 | #endif |
| 144 | hx::Throw(HX_CSTRING("Blocking")); |
| 145 | else { |
| 146 | hx::Throw(HX_CSTRING("EOF")); |
| 147 | } |
| 148 | } |
| 149 | |
| 150 | } |
| 151 |
no test coverage detected