summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2018-12-03 12:29:34 +0200
committerEli Zaretskii <eliz@gnu.org>2018-12-03 12:29:34 +0200
commit2ff9dca17c5ba1658f8083e20f3bcc7e90c57bb2 (patch)
tree17fa43e345070711647d7be2b4ad28d80d6babfe
parent5c412405c7422b356484a933179f852c30ce2f24 (diff)
downloademacs-2ff9dca17c5ba1658f8083e20f3bcc7e90c57bb2.tar.gz
Fix WINDOWSNT/DOS_NT build
Recent changes in sysdep.c and emacsclient unnecessarily removed useful code from DOS_NT builds. This changeset reinstates that code. * nt/inc/ms-w32.h (tcdrain): Redirect to _commit. (fdatasync): No need to redirect anymore. * lib-src/emacsclient.c (flush_stdout): Don't avoid calling tcdrain on DOS_NT platforms. * src/sysdep.c (reset_sys_modes): Don't ifdef away the call to tcdrain on DOS_NT platforms.
-rw-r--r--lib-src/emacsclient.c2
-rw-r--r--nt/inc/ms-w32.h2
-rw-r--r--src/sysdep.c2
3 files changed, 2 insertions, 4 deletions
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index a428788344e..c430217470f 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -1745,10 +1745,8 @@ static void
flush_stdout (HSOCKET emacs_socket)
{
fflush (stdout);
-#ifndef DOS_NT
while (tcdrain (STDOUT_FILENO) != 0 && errno == EINTR)
act_on_signals (emacs_socket);
-#endif
}
int
diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h
index e4dec04fb8b..df35dff91b5 100644
--- a/nt/inc/ms-w32.h
+++ b/nt/inc/ms-w32.h
@@ -311,7 +311,7 @@ extern int execve (const char *, char * const *, char * const *);
#else
extern intptr_t execve (const char *, char * const *, char * const *);
#endif
-#define fdatasync _commit
+#define tcdrain _commit
#define fdopen _fdopen
#define fsync _commit
#define ftruncate _chsize
diff --git a/src/sysdep.c b/src/sysdep.c
index b054839795b..9901d6a089e 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1519,11 +1519,11 @@ reset_sys_modes (struct tty_display_info *tty_out)
if (tty_out->terminal->reset_terminal_modes_hook)
tty_out->terminal->reset_terminal_modes_hook (tty_out->terminal);
-#ifndef DOS_NT
/* Avoid possible loss of output when changing terminal modes. */
while (tcdrain (fileno (tty_out->output)) != 0 && errno == EINTR)
continue;
+#ifndef DOS_NT
# ifdef F_SETOWN
if (interrupt_input)
{