[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111257: Cleanup related to bug #1
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111257: Cleanup related to bug #13546 with subprocesses on MS-Windows. |
Date: |
Wed, 13 Feb 2013 19:00:26 +0200 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111257
fixes bug: http://debbugs.gnu.org/13546
committer: Eli Zaretskii <address@hidden>
branch nick: emacs-24
timestamp: Wed 2013-02-13 19:00:26 +0200
message:
Cleanup related to bug #13546 with subprocesses on MS-Windows.
src/w32.c (sys_pipe): When failing due to file descriptors above
MAXDESC, set errno to EMFILE.
(_sys_read_ahead): Update cp->status when failing to read serial
communications input, so that the status doesn't stay at
STATUS_READ_IN_PROGRESS.
modified:
src/ChangeLog
src/w32.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2013-02-13 04:26:43 +0000
+++ b/src/ChangeLog 2013-02-13 17:00:26 +0000
@@ -1,3 +1,11 @@
+2013-02-13 Eli Zaretskii <address@hidden>
+
+ * w32.c (sys_pipe): When failing due to file descriptors above
+ MAXDESC, set errno to EMFILE.
+ (_sys_read_ahead): Update cp->status when failing to read serial
+ communications input, so that the status doesn't stay at
+ STATUS_READ_IN_PROGRESS. (Bug#13546)
+
2013-02-13 Glenn Morris <address@hidden>
* keyboard.c (input-decode-map, key-translation-map): Doc fixes.
=== modified file 'src/w32.c'
--- a/src/w32.c 2013-01-27 08:04:16 +0000
+++ b/src/w32.c 2013-02-13 17:00:26 +0000
@@ -6209,6 +6209,7 @@
{
_close (phandles[0]);
_close (phandles[1]);
+ errno = EMFILE;
rc = -1;
}
else
@@ -6281,19 +6282,31 @@
/* Configure timeouts for blocking read. */
if (!GetCommTimeouts (hnd, &ct))
- return STATUS_READ_ERROR;
+ {
+ cp->status = STATUS_READ_ERROR;
+ return STATUS_READ_ERROR;
+ }
ct.ReadIntervalTimeout = 0;
ct.ReadTotalTimeoutMultiplier = 0;
ct.ReadTotalTimeoutConstant = 0;
if (!SetCommTimeouts (hnd, &ct))
- return STATUS_READ_ERROR;
+ {
+ cp->status = STATUS_READ_ERROR;
+ return STATUS_READ_ERROR;
+ }
if (!ReadFile (hnd, &cp->chr, sizeof (char), (DWORD*) &rc, ovl))
{
if (GetLastError () != ERROR_IO_PENDING)
- return STATUS_READ_ERROR;
+ {
+ cp->status = STATUS_READ_ERROR;
+ return STATUS_READ_ERROR;
+ }
if (!GetOverlappedResult (hnd, ovl, (DWORD*) &rc, TRUE))
- return STATUS_READ_ERROR;
+ {
+ cp->status = STATUS_READ_ERROR;
+ return STATUS_READ_ERROR;
+ }
}
}
else if (fd_info[fd].flags & FILE_SOCKET)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/emacs-24 r111257: Cleanup related to bug #13546 with subprocesses on MS-Windows.,
Eli Zaretskii <=