diff --git a/src/io/SDL_iostream.c b/src/io/SDL_iostream.c index d85c5777c9..df515b6df6 100644 --- a/src/io/SDL_iostream.c +++ b/src/io/SDL_iostream.c @@ -502,6 +502,7 @@ static bool SDLCALL fd_flush(void *userdata, SDL_IOStatus *status) result = SDL_fdatasync(iodata->fd); } while (result < 0 && errno == EINTR); + // We get EINVAL when flushing a pipe, just make that a no-op if (result < 0 && errno != EINVAL) { return SDL_SetError("Error flushing datastream: %s", strerror(errno)); }