Re: [PATCH v2] mingw: emulate write(2) that fails with a EPIPE
Johannes Sixt <j6t@kdbg.org> writes:
Show 27 quoted lines
>> +#undef write
>> +ssize_t mingw_write(int fd, const void *buf, size_t len)
>> +{
>> + ssize_t result = write(fd, buf, len);
>> +
>> + if (result < 0 && errno == EINVAL && buf) {
>> + /* check if fd is a pipe */
>> + HANDLE h = (HANDLE) _get_osfhandle(fd);
>> + if (GetFileType(h) == FILE_TYPE_PIPE)
>> + errno = EPIPE;
>> + else
>> + errno = EINVAL;
>> + }
>> +
>> + return result;
>> +}
>> +
>> int mingw_access(const char *filename, int mode)
>> {
>> wchar_t wfilename[MAX_PATH];
>
> Looks good. I tested the patch, and it fixes the failure exposed by
> t5571.11.
>
> Acked-by: Johannes Sixt <j6t@kdbg.org>
>
> Thanks!