mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-12 22:40:46 -08:00
msdos/mainmake.v2 (bootstrap-clean): Do a maintainer-clean in lib, not bootstrap-clean (which doesn't exist). msdos/inttypes.h (PRIuMAX) [__DJGPP__ < 2.04]: Define to "llu". msdos/sedleim.inp (MKDIR_P): Edit to DOS "md" command. msdos/sed1v2.inp: (LIB_CLOCK_GETTIME): Edit to empty. Remove lines that invoke PAXCTL. (clean): Fix recipe not to run Unixy shell commands. msdos/sed2v2.inp (GETTIMEOFDAY_TIMEZONE): Edit to 'struct timezone'. (HAVE_STRNCASECMP): Edit to 1. msdos/sed3v2.inp (LIB_CLOCK_GETTIME): Edit to empty. (C_SWITCH_SYSTEM): Add "-I../msdos". msdos/sedlibmk.inp (GNULIB_GETTIMEOFDAY, GNULIB_PSELECT) (GNULIB_SELECT, HAVE_STRUCT_TIMEVAL, HAVE_SYS_SELECT_H) (HAVE_SYS_TIME_H, NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H) (NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H, NEXT_SYS_SELECT_H) (NEXT_SYS_TIME_H, REPLACE_GETTIMEOFDAY, REPLACE_PSELECT) (REPLACE_STRUCT_TIMEVAL): Edit to appropriate values. (BUILT_SOURCES): Edit out sys/select.h and sys/time.h. (mostlyclean-local, distclean-generic): Fix recipe not to run Unixy shell commands. src/sysselect.h [DOS_NT]: Don't include sys/select.h. src/sysselect.h (pselect) [!HAVE_PSELECT]: Redirect to sys_select. src/sysdep.c: Don't include dos.h and dosfns.h. src/process.c (sys_select): src/msdos.c (sys_select): Accept one more argument and ignore it. src/msdos.c (event_timestamp, sys_select): Use gnulib's gettime; adapt data types and code to that. src/dosfns.c: src/msdos.c (gettime, settime): Define away the prototypes in dos.h, which clashes with the gnulib function of the same name. src/ w32proc.c (sys_select): Accept and ignore one more argument. src/w32.c (emacs_gnutls_pull): Call select with one more argument. lisp/emacs-lisp/timer.el (timer-until): Subtract results of float-time, instead of taking float-time of the result of time-subtract, since float-time signals an error for negative time arguments.
58 lines
1.7 KiB
C
58 lines
1.7 KiB
C
/* sysselect.h - System-dependent definitions for the select function.
|
|
Copyright (C) 1995, 2001-2012 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 <http://www.gnu.org/licenses/>. */
|
|
|
|
#if defined (DARWIN_OS)
|
|
#undef init_process
|
|
#endif
|
|
#ifndef DOS_NT
|
|
#include <sys/select.h>
|
|
#endif
|
|
#if defined (DARWIN_OS)
|
|
#define init_process emacs_init_process
|
|
#endif
|
|
|
|
/* 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
|
|
#ifdef FD_SETSIZE
|
|
#define MAXDESC FD_SETSIZE
|
|
#else
|
|
#define MAXDESC 64
|
|
#endif
|
|
#define SELECT_TYPE fd_set
|
|
#else /* no FD_SET */
|
|
#define MAXDESC 32
|
|
#define SELECT_TYPE int
|
|
|
|
/* 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
|
|
#define pselect sys_select
|
|
#endif
|