Mercurial > hg > xemacs-beta
diff src/sysdep.c @ 5494:861f2601a38b
Sync s/ files with GNU 23.1.92, delete obsolete stuff, simplify other stuff
--- ChangeLog
2010-02-20 Ben Wing <ben@xemacs.org>
* configure:
* configure.ac (XE_EXPAND_VARIABLE):
* configure.ac (TAB):
irix6-0.h renamed to irix6-5.h; sco7.h deleted.
bsd4-3.h renamed to bsd-common.h.
Simplify setting machine= for intel386, mips.
Put back linux.h.
Incorporate some stuff about debug/optimization flags in irix6-5.h
into configure.ac.
Add a comment about LCC stuff with optimization flags that should be
fixed up.
--- src/ChangeLog
2010-02-20 Ben Wing <ben@xemacs.org>
* sysdep.c:
* sysdep.c (qxe_reliable_signal):
* sysdep.c (retry_open_1):
* sysdep.c (retry_close):
* sysdep.c (retry_read_1):
* sysdep.c (retry_write_1):
* sysdep.c (retry_fopen):
* sysdep.c (retry_fclose):
* sysdep.c (retry_fread):
* sysdep.c (retry_fwrite):
Remove conditionalization on INTERRUPTIBLE_IO, INTERRUPTIBLE_OPEN,
INTERRUPTIBLE_CLOSE -- always check for EINTR as there's no harm
in it.
Remove old #if 0'ed out SA_RESTART code.
Use manifest constant IRIX6_5 instead of IRIX.
* Makefile.in.in:
* dired.c:
* dired.c (Ffile_attributes):
Use manifest constant IRIX6_5 instead of IRIX.
Eliminate constant BSD4_2, use BSD4_3 instead.
* getloadavg.c:
* getloadavg.c (getloadavg):
* getloadavg.c (LDAV_PRIVILEGED):
* getloadavg.c (LDAV_DONE):
Sync with GNU 23.1.92.
2010-02-20 Ben Wing <ben@xemacs.org>
* s/README:
* s/aix4-2.h:
* s/aix4-2.h (MAIL_USE_LOCKF):
* s/bsd-common.h:
* s/freebsd.h:
* s/freebsd.h (Carey):
* s/freebsd.h (or):
* s/gnu.h:
* s/gnu.h (DATA_START):
* s/hpux11-shr.h:
* s/hpux11.h:
* s/hpux11.h (random):
* s/irix6-5.h:
* s/linux.h:
* s/mach-bsd4-3.h:
* s/netbsd.h:
* s/netbsd.h (or):
* s/netbsd.h (A_TEXT_OFFSET):
* s/netbsd.h (NO_MATHERR):
* s/openbsd.h:
* s/sol2.h:
* s/usg5-4-2.h:
* s/usg5-4.h:
* s/usg5-4.h (or):
* s/usg5-4.h (ORDINARY_LINK):
Sync with GNU 23.1.92.
Put back linux.h.
Rename: bsd4-3.h -> bsd-common.h; irix6-0.h -> irix6-5.h.
Delete: template.h (useless).
Delete a whole bunch of obsolete stuff in sol2.h, linux.h,
freebsd.h -- assume anything over 10 years old is sufficiently
obsolete to be deleted.
Remove LIBS_DEBUG, C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH, KERNEL_FILE,
LDAV_SYMBOL, most remaining PTY stuff, remaining TERMINFO/TERMCAP
stuff. Update README appropriately.
Remove stuff in hpux11-shr.h duplicated in hpux11.h.
Remove sco7.h, identical with usg5-4-2.h.
Remove unused POSIX flag, BROKEN_TIOC*, NO_SIOCTL_H.
2010-02-20 Ben Wing <ben@xemacs.org>
* m/arm.h:
* m/hp800.h:
* m/intel386.h:
* m/mips.h:
* m/powerpc.h:
* m/sparc.h:
* m/template.h:
Temporarily ifdef out all defines involving load-average stuff --
using define ENABLE_SM_FILE_DECLS_OF_LOADAVG_STUFF, which is not
defined.
I'm pretty sure getloadavg.c will take care of defining stuff
properly on all systems without the need to duplicate the info
in m/*. --ben
Delete LIBS_TERMCAP; configure auto-handles this.
Delete extra stuff in hp800.h.
Delete C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH, LDAV_SYMBOL; incorporate
some stuff into configure.ac.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 20 Feb 2010 06:03:00 -0600 |
parents | 3c3c1d139863 |
children | 1f0b15040456 |
line wrap: on
line diff
--- a/src/sysdep.c Fri Feb 19 22:41:03 2010 -0600 +++ b/src/sysdep.c Sat Feb 20 06:03:00 2010 -0600 @@ -2166,37 +2166,18 @@ #ifdef HAVE_SIGPROCMASK -/* #### Is there any reason this is static global rather than local? */ -static struct sigaction new_action, old_action; - signal_handler_t qxe_reliable_signal (int signal_number, signal_handler_t action) { -#if 0 - - /* XEmacs works better if system calls are *not* restarted. + static struct sigaction new_action, old_action; + + /* XEmacs works better if system calls are not restarted. This allows C-g to interrupt reads and writes, on most systems. #### Another possibility is to just longjmp() out of the signal handler. According to W.R. Stevens, this should be OK on all systems. However, I don't want to deal with the potential evil ramifications of this at this point. */ - - sigemptyset (&new_action.sa_mask); - new_action.sa_handler = action; -#if defined (SA_RESTART) - /* Emacs mostly works better with restartable system services. If this - * flag exists, we probably want to turn it on here. - */ - new_action.sa_flags = SA_RESTART; -#else - new_action.sa_flags = 0; -#endif - sigaction (signal_number, &new_action, &old_action); - return (old_action.sa_handler); - -#else /* not 0 */ - sigemptyset (&new_action.sa_mask); new_action.sa_handler = action; #if defined (SA_INTERRUPT) /* don't restart system calls, under SunOS */ @@ -2206,8 +2187,6 @@ #endif sigaction (signal_number, &new_action, &old_action); return (signal_handler_t) (old_action.sa_handler); - -#endif /* not 0 */ } #elif defined (HAVE_SIGBLOCK) @@ -2241,7 +2220,7 @@ #ifndef HAVE_STRERROR -#if !defined(__alpha) && !defined(MACH) && !defined(LINUX) && !defined(IRIX) && !defined(__NetBSD__) +#if !defined(__alpha) && !defined(MACH) && !defined(LINUX) && !defined(IRIX6_5) && !defined(__NetBSD__) /* Linux added here by Raymond L. Toy <toy@alydar.crd.ge.com> for XEmacs. */ /* Irix added here by gparker@sni-usa.com for XEmacs. */ /* NetBSD added here by James R Grinter <jrg@doc.ic.ac.uk> for XEmacs */ @@ -2328,17 +2307,11 @@ static int retry_open_1 (const Extbyte *path, int oflag, int mode) { -#ifdef INTERRUPTIBLE_OPEN - { - int rtnval; - while ((rtnval = underlying_open (path, oflag, mode)) == -1 - && (errno == EINTR)) - DO_NOTHING; - return rtnval; - } -#else - return underlying_open (path, oflag, mode); -#endif + int rtnval; + while ((rtnval = underlying_open (path, oflag, mode)) == -1 + && (errno == EINTR)) + DO_NOTHING; + return rtnval; } /* A version of open() that retries when interrupted. Operates on @@ -2432,7 +2405,6 @@ int retry_close (int filedes) { -#ifdef INTERRUPTIBLE_CLOSE int did_retry = 0; REGISTER int rtnval; @@ -2447,9 +2419,6 @@ return 0; return rtnval; -#else - return close (filedes); -#endif } static ssize_t @@ -2457,7 +2426,6 @@ { ssize_t rtnval; - /* No harm in looping regardless of the INTERRUPTIBLE_IO setting. */ while ((rtnval = read (fildes, buf, nbyte)) == -1 && (errno == EINTR)) { @@ -2479,7 +2447,6 @@ ssize_t bytes_written = 0; const char *b = (const char *) buf; - /* No harm in looping regardless of the INTERRUPTIBLE_IO setting. */ while (nbyte > 0) { ssize_t rtnval = write (fildes, b, nbyte); @@ -2581,16 +2548,12 @@ return NULL; return _fdopen (fd, mode_save); -#elif defined (INTERRUPTIBLE_OPEN) - { - FILE *rtnval; - while (!(rtnval = fopen (path, mode)) && (errno == EINTR)) - DO_NOTHING; - return rtnval; - } #else - return fopen (path, mode); -#endif /* defined (INTERRUPTIBLE_OPEN) */ + FILE *rtnval; + while (!(rtnval = fopen (path, mode)) && (errno == EINTR)) + DO_NOTHING; + return rtnval; +#endif /* (not) WIN32_NATIVE */ } FILE * @@ -2604,22 +2567,17 @@ int retry_fclose (FILE *stream) { -#ifdef INTERRUPTIBLE_CLOSE int rtnval; while ((rtnval = fclose (stream)) == EOF && (errno == EINTR)) ; return rtnval; -#else - return fclose (stream); -#endif } size_t retry_fread (void *ptr, size_t size, size_t nitem, FILE *stream) { -#ifdef INTERRUPTIBLE_IO size_t rtnval; size_t items_read = 0; char *b = (char *) ptr; @@ -2639,15 +2597,11 @@ items_read += rtnval; } return (items_read); -#else - return fread (ptr, size, nitem, stream); -#endif } size_t retry_fwrite (const void *ptr, size_t size, size_t nitem, FILE *stream) { -#ifdef INTERRUPTIBLE_IO size_t rtnval; size_t items_written = 0; const char *b = (const char *) ptr; @@ -2667,9 +2621,6 @@ items_written += rtnval; } return (items_written); -#else - return fwrite (ptr, size, nitem, stream); -#endif } /********************* directory calls *******************/