git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] mingw: emulate write(2) that fails with a EPIPE

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 21, 2015, 16:59 UTC
Message-ID
<xmqqr3ifhh4j.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<5674732A.3050104@kdbg.org>
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!
Thanks, both.
Previous: Johannes Sixt
Message 13 of 13 in “mingw: emulate write(2) that fails with a EPIPE”
  1. mingw: emulate write(2) that fails with a EPIPEJohannes Schindelin, Dec 16, 2015
  2. Junio C HamanoDec 16, 2015
  3. Johannes SchindelinDec 17, 2015
  4. Junio C HamanoDec 17, 2015
  5. Johannes SchindelinDec 17, 2015
  6. Eric SunshineDec 16, 2015
  7. Junio C HamanoDec 16, 2015
  8. Johannes SchindelinDec 17, 2015
  9. mingw: emulate write(2) that fails with a EPIPEJohannes Schindelin, Dec 17, 2015
  10. Junio C HamanoDec 17, 2015
  11. Johannes SchindelinDec 18, 2015
  12. Johannes SixtDec 18, 2015
  13. Junio C HamanoDec 21, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.