| 1188 | #endif |
| 1189 | |
| 1190 | void SetNonBlock(SOCKET fd, bool value) { |
| 1191 | #if defined(_unix_) |
| 1192 | #if defined(FIONBIO) |
| 1193 | Y_UNUSED(SetFlag); // shut up clang about unused function |
| 1194 | int nb = value; |
| 1195 | |
| 1196 | if (ioctl(fd, FIONBIO, &nb) < 0) { |
| 1197 | ythrow TSystemError() << "ioctl failed"; |
| 1198 | } |
| 1199 | #else |
| 1200 | SetFlag(fd, O_NONBLOCK, value); |
| 1201 | #endif |
| 1202 | #elif defined(_win_) |
| 1203 | SetNonBlockSocket(fd, value); |
| 1204 | #else |
| 1205 | #error todo |
| 1206 | #endif |
| 1207 | } |
| 1208 | |
| 1209 | bool IsNonBlock(SOCKET fd) { |
| 1210 | #if defined(_unix_) |