mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-28 08:11:05 -08:00
* msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS) (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS) (LIBSYSTEMD_LIBS): Edit to empty. (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS) (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing. Remove editing of lines that are no longer present in src/Makefile.in. * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL) (NEED_MKTIME_WORKING): Define to 1. (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for DJGPP >= 2.05. (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1. Define PACKAGE_VERSION, not VERSION. (FLEXIBLE_ARRAY_MEMBER): Define to empty. (HAVE_DECL_*_UNLOCKED): Define to 0. (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1. (PENDING_*): Don't define, as Gnulib no longer supports that. Instead, define _IOERR as it is in libc/file.h. * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to determine the current directory. (UPDATE_MANIFEST, UTILITIES): Don't edit. * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete". * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes. (HYBRID_MALLOC): Edit to empty. (am__cd): Don't edit. (../config.status): Replaces $(top_builddir)/config.status. Define OMIT_GNULIB_MODULE_foo = true for modules not built for MS-DOS. Convert GL_GENERATE_xxx_H_TRUE and GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H. * msdos/mainmake.v2 (src): Use 'compile-one-process', and make the command line shorter to fit into 126-char limit of command.com. * config.bat: Generate src/deps/*.d files. Rename more files like djtar on plain DOS would. Don't rename src/dir.h: it is long gone. Edit lib/gnulib.mk.in using the same scripts as for lib/Makefile.in. * msdos/depfiles.bat: Create *.d files, not *.Po. * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the error message. * src/thread.h [MSDOS]: Include <signal.h>. * src/sysselect.h (select) [MSDOS]: Undefine, to avoid compilation errors. * src/sysdep.c (block_interrupt_signal, restore_signal_mask): Expose to MSDOS build. * src/process.c (update_processes_for_thread_death) [!subprocess]: No-op implementation. [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and declaration of nofile_limit outside "#ifdef subprocesses", as it's needed for MSDOS. * src/msdos.c (faccessat): Declare fullname[]. * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS. Include termhooks.h. * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on WINDOWSNT, not DOS_NT. * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
98 lines
2.5 KiB
C
98 lines
2.5 KiB
C
/* sysselect.h - System-dependent definitions for the select function.
|
|
Copyright (C) 1995, 2001-2017 Free Software Foundation, Inc.
|
|
|
|
This file is part of GNU Emacs.
|
|
|
|
GNU Emacs is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or (at
|
|
your option) any later version.
|
|
|
|
GNU Emacs is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef SYSSELECT_H
|
|
#define SYSSELECT_H 1
|
|
|
|
#ifndef DOS_NT
|
|
#include <sys/select.h>
|
|
#endif
|
|
|
|
#include "lisp.h"
|
|
|
|
/* The w32 build defines select stuff in w32.h, which is included
|
|
where w32 needs it, but not where sysselect.h is included. The w32
|
|
definitions in w32.h are incompatible with the below. */
|
|
#ifndef WINDOWSNT
|
|
#ifdef FD_SET
|
|
#ifndef FD_SETSIZE
|
|
#define FD_SETSIZE 64
|
|
#endif
|
|
#else /* no FD_SET */
|
|
#define FD_SETSIZE 32
|
|
typedef int fd_set;
|
|
|
|
/* Define the macros to access a single-int bitmap of descriptors. */
|
|
#define FD_SET(n, p) (*(p) |= (1 << (n)))
|
|
#define FD_CLR(n, p) (*(p) &= ~(1 << (n)))
|
|
#define FD_ISSET(n, p) (*(p) & (1 << (n)))
|
|
#define FD_ZERO(p) (*(p) = 0)
|
|
#endif /* no FD_SET */
|
|
#endif /* not WINDOWSNT */
|
|
|
|
#if !defined (HAVE_SELECT)
|
|
#define select sys_select
|
|
#endif
|
|
|
|
#ifdef MSDOS
|
|
/* The above #define for 'select' gets in the way because sysselect.h
|
|
is included in thread.h, which is included everywhere, and 'select'
|
|
declared in DJGPP system headers has a signature incompatible with
|
|
'pselect', which we emulate in msdos.c. */
|
|
#undef select
|
|
#define pselect sys_select
|
|
#endif
|
|
|
|
#ifndef WINDOWSNT
|
|
INLINE_HEADER_BEGIN
|
|
|
|
/* Check for out-of-range errors if ENABLE_CHECKING is defined. */
|
|
|
|
INLINE void
|
|
fd_CLR (int fd, fd_set *set)
|
|
{
|
|
eassume (0 <= fd && fd < FD_SETSIZE);
|
|
FD_CLR (fd, set);
|
|
}
|
|
|
|
INLINE bool
|
|
fd_ISSET (int fd, fd_set *set)
|
|
{
|
|
eassume (0 <= fd && fd < FD_SETSIZE);
|
|
return FD_ISSET (fd, set) != 0;
|
|
}
|
|
|
|
INLINE void
|
|
fd_SET (int fd, fd_set *set)
|
|
{
|
|
eassume (0 <= fd && fd < FD_SETSIZE);
|
|
FD_SET (fd, set);
|
|
}
|
|
|
|
#undef FD_CLR
|
|
#undef FD_ISSET
|
|
#undef FD_SET
|
|
#define FD_CLR(fd, set) fd_CLR (fd, set)
|
|
#define FD_ISSET(fd, set) fd_ISSET (fd, set)
|
|
#define FD_SET(fd, set) fd_SET (fd, set)
|
|
|
|
INLINE_HEADER_END
|
|
|
|
#endif /* !WINDOWSNT */
|
|
|
|
#endif
|