aboutsummaryrefslogtreecommitdiffstats
path: root/src/sysdep.c
diff options
context:
space:
mode:
authorEli Zaretskii2014-04-16 16:27:28 +0300
committerEli Zaretskii2014-04-16 16:27:28 +0300
commitbf6b4923f7eedea193dee2130bf7fa597a5932d4 (patch)
tree62bd144e45df20c0fc1600eedb3f744dcfe959a2 /src/sysdep.c
parent3a31cae4677c7c5e501dcf7e5c520e49db16f75e (diff)
downloademacs-bf6b4923f7eedea193dee2130bf7fa597a5932d4.tar.gz
emacs-bf6b4923f7eedea193dee2130bf7fa597a5932d4.zip
Fix the MSDOS build.
src/unexcoff.c [MSDOS]: Include libc/atexit.h. (copy_text_and_data): Zero out the atexit chain pointer before dumping Emacs. src/termhooks.h (encode_terminal_code): Update prototype. src/term.c (encode_terminal_code) [DOS_NT]: Make it externally visible for all DOS_NT ports, not just WINDOWSNT. (syms_of_term) [!MSDOS]: Don't define 'tty-menu-*' symbols on MSDOS. src/sysdep.c (emacs_sigaction_init, init_signals): Don't use SIGCHLD unless it is defined. (emacs_pipe) [MSDOS]: Redirect to 'pipe'. src/process.c (close_on_exec, accept4, process_socket): Move into the "ifdef subprocesses" part. (catch_child_signal): Condition by "ifdef subprocesses". (syms_of_process) <Qinternal_default_process_sentinel> <Qinternal_default_process_filter>: Condition by "ifdef subprocesses". src/msdos.h: Add prototypes for new functions. (EINPROGRESS): Define. (O_CLOEXEC): Define to zero. src/msdos.c (check_window_system): Remove unnecessary an incompatible duplicate function. (sys_opendir, readlinkat, faccessat, fstatat, unsetenv): New functions in support of new functionality. src/menu.c (single_menu_item): Add visual indication of submenu also for menus on MSDOS frames. (Fx_popup_menu) [!MSDOS]: Do not call tty_menu_show on MSDOS. src/lisp.h (CHECK_PROCESS) [!subprocesses]: Do not define when async subprocesses aren't supported. src/font.h (FONT_WIDTH) [MSDOS]: MSDOS-specific definition. src/emacs.c (close_output_streams): Zero out errno before calling close_stream. src/dired.c [MSDOS]: Include msdos.h. src/conf_post.h (opendir) [MSDOS]: Redirect to sys_opendir. (DATA_START) [MSDOS]: Define. (SYSTEM_PURESIZE_EXTRA) [MSDOS]: Enlarge by 25K. src/callproc.c (block_child_signal, unblock_child_signal) [MSDOS]: Ifdef away for MSDOS. (record_kill_process) [MSDOS]: Ifdef away the entire body for MSDOS. (call_process_cleanup) [MSDOS]: Ifdef away portions not relevant for MSDOS. (call_process) [MSDOS]: Fix call sequence of dostounix_filename. Use temporary file template that is compatible with mkostemp. Move vfork-related portions under #ifndef MSDOS. (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT. lisp/term/pc-win.el (x-list-fonts, x-get-selection-value): Provide doc strings, as required by snarf-documentation. msdos/sedlisp.inp: msdos/sedlibmk.inp: msdos/sedleim.inp: msdos/sed3v2.inp: msdos/sed2v2.inp: msdos/sed1v2.inp: Update Sed scripts for Emacs 24.4. msdos/inttypes.h: Add PRIdMAX. msdos/INSTALL: Update for Emacs 24.4. msdos/sedadmin.inp: New file.
Diffstat (limited to 'src/sysdep.c')
-rw-r--r--src/sysdep.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sysdep.c b/src/sysdep.c
index 6ec8eecb287..4e86dc903dc 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1506,7 +1506,9 @@ emacs_sigaction_init (struct sigaction *action, signal_handler_t handler)
1506 /* When handling a signal, block nonfatal system signals that are caught 1506 /* When handling a signal, block nonfatal system signals that are caught
1507 by Emacs. This makes race conditions less likely. */ 1507 by Emacs. This makes race conditions less likely. */
1508 sigaddset (&action->sa_mask, SIGALRM); 1508 sigaddset (&action->sa_mask, SIGALRM);
1509#ifdef SIGCHLD
1509 sigaddset (&action->sa_mask, SIGCHLD); 1510 sigaddset (&action->sa_mask, SIGCHLD);
1511#endif
1510#ifdef SIGDANGER 1512#ifdef SIGDANGER
1511 sigaddset (&action->sa_mask, SIGDANGER); 1513 sigaddset (&action->sa_mask, SIGDANGER);
1512#endif 1514#endif
@@ -1711,7 +1713,9 @@ init_signals (bool dumping)
1711# ifdef SIGBUS 1713# ifdef SIGBUS
1712 sys_siglist[SIGBUS] = "Bus error"; 1714 sys_siglist[SIGBUS] = "Bus error";
1713# endif 1715# endif
1716# ifdef SIGCHLD
1714 sys_siglist[SIGCHLD] = "Child status changed"; 1717 sys_siglist[SIGCHLD] = "Child status changed";
1718# endif
1715# ifdef SIGCONT 1719# ifdef SIGCONT
1716 sys_siglist[SIGCONT] = "Continued"; 1720 sys_siglist[SIGCONT] = "Continued";
1717# endif 1721# endif
@@ -2182,6 +2186,9 @@ emacs_fopen (char const *file, char const *mode)
2182int 2186int
2183emacs_pipe (int fd[2]) 2187emacs_pipe (int fd[2])
2184{ 2188{
2189#ifdef MSDOS
2190 return pipe (fd);
2191#else /* !MSDOS */
2185 int result = pipe2 (fd, O_CLOEXEC); 2192 int result = pipe2 (fd, O_CLOEXEC);
2186 if (! O_CLOEXEC && result == 0) 2193 if (! O_CLOEXEC && result == 0)
2187 { 2194 {
@@ -2189,6 +2196,7 @@ emacs_pipe (int fd[2])
2189 fcntl (fd[1], F_SETFD, FD_CLOEXEC); 2196 fcntl (fd[1], F_SETFD, FD_CLOEXEC);
2190 } 2197 }
2191 return result; 2198 return result;
2199#endif /* !MSDOS */
2192} 2200}
2193 2201
2194/* Approximate posix_close and POSIX_CLOSE_RESTART well enough for Emacs. 2202/* Approximate posix_close and POSIX_CLOSE_RESTART well enough for Emacs.