🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #98457

SIGIOT recieved in quit_throw_read_command() in keyboard.c

#98457
From: James Tsillas
Date: Thu, 13 Jun 1991 21:32
209 lines
7072 bytes
I have built emacs on SCO Unix 3.2.1 with the configuration below.
Aside from a small hack to sysdep.c to allow me to use Thomas Roell's
X11R4 libs (I use emacs_select), I made no modifications. When I press
ctrl-g very quickly during certain functions I get a SIGIOT within
the function quit_throw_read_command. This appears to be caused 
by sigfree() doing nothing (null expansion). It appears that if
sigfree() was doing something it would block SIGIOT. This doesn't
bother most of us execpt for a particularly fast typing red-head in
our group (Hello Tammie!).

My config.h is:
---------------------------------------
/* $Id: sco-config.h,v 1.9 1991/06/12 19:48:16 jtsillas Exp $ */


/* GNU Emacs site configuration template file.
   Copyright (C) 1988 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 1, 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; see the file COPYING.  If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */



/* Include here a s- file that describes the system type you are using.
   See the file ../etc/MACHINES for a list of systems and
   the names of the s- files to use for them.
   See s-template.h for documentation on writing s- files.  */
#include "s-usg5-3.h"

/* Include here a m- file that describes the machine and system you use.
   See the file ../etc/MACHINES for a list of machines and
   the names of the m- files to use for them.
   See m-template.h for info on what m- files should define.
   */
#include "m-intel386.h"

/* We installed ptys for Emacs as /dev/[pt]tyc? */
#undef FIRST_PTY_LETTER
#define FIRST_PTY_LETTER 'c'
#define HAVE_PTYS

/* Lets try using this.
   -Jim Tsillas 6-12-91
*/
#define HAVE_SOCKETS

/* SCO Unix doesn't have load averages */
#undef LDAV_SYMBOL

/* We use termcap */
#undef TERMINFO

/* We use gcc, but no debugging */
#define C_COMPILER gcc /* -s -O -fstrength-reduce -fomit-frame-pointer -finline-functions -fcombine-regs */
#define C_OPTIMIZE_SWITCH
#define C_DEBUG_SWITCH -g
#undef LIB_STANDARD
#define LIB_STANDARD -lc -lsocket

/* gcc has alloca() built in */
#undef alloca
#define alloca __builtin_alloca

/* For some reason our libX11.a has a rename() builtin resulting in conflict
   -Jim Tsillas 5-31-91
*/
#define HAVE_RENAME

/* Let's try using the select provided by Thomas Roell via liX11.a.
   It works but we must not confuse it with the the select provided by emacs.
   A small change is necessary to sysdep.c
   -Jim Tsillas 6-5-91
   This didn't work. It seems the select in libX11.a is deficient for emacs.
   We therefore do something to get emacs to use its own select and to allow
   libX11.a to use its own.
   -Jim Tsillas 6-12-91
#define HAVE_SELECT
*/

#define USE_EMACS_SELECT
#define select emacs_select

/*
#define HAVE_GETTIMEOFDAY
*/

/* We need <sys/ptem.h> for "struct winsize" */
#define NEED_PTEM_H

/* We have the POSIX terminal control functions, termios (with an "s") */
#define HAVE_TERMIOS

/* The kernel supports job control, and so does the shell, now. */
#if 0
# undef SIGTSTP
# undef SIGSTOP
# undef SIGCONT
# undef SIGTTIN
# undef SIGTTOU
# define NOPGRP
#endif

/* The above doesn't work with our version of SCO, so lets get a bit
   nasty instead. -Jim Tsillas 6-12-91
*/
#undef SIGTSTP

/* Load in the conversion definitions if this system
   needs them and the source file being compiled has not
   said to inhibit this.  There should be no need for you
   to alter these lines.  */

#ifdef SHORTNAMES
#ifndef NO_SHORTNAMES
#include "../shortnames/remap.h"
#endif /* not NO_SHORTNAMES */
#endif /* SHORTNAMES */

/* Define the return type of signal handlers if the s-xxx file
   did not already do so.  */
#ifndef SIGTYPE
#define SIGTYPE int
#endif

/* Define HAVE_X_WINDOWS if you want to use the X window system.  */

#define HAVE_X_WINDOWS 

/* Define X11 if you want to use version 11 of X windows.
   Otherwise, Emacs expects to use version 10.  */

#define X11

/* Define HAVE_X_MENU if you want to use the X window menu system.
   This appears to work on some machines that support X
   and not on others.  */

#define HAVE_X_MENU 
/* This appears to mess us up.
   -Jim Tsillas 6-11-91
#define XBACKWARDS
*/

#define LIBX11_MACHINE
#define LIBX10_MACHINE

/* Define `subprocesses' should be defined if you want to
   have code for asynchronous subprocesses
   (as used in M-x compile and M-x shell).
   These do not work for some USG systems yet;
   for the ones where they work, the s-*.h file defines this flag.  */

#ifndef VMS
#ifndef USG
#define subprocesses
#endif
#endif

/* Define USER_FULL_NAME to return a string
   that is the user's full name.
   It can assume that the variable `pw'
   points to the password file entry for this user.

   At some sites, the pw_gecos field contains
   the user's full name.  If neither this nor any other
   field contains the right thing, use pw_name,
   giving the user's login name, since that is better than nothing.  */

#define USER_FULL_NAME pw->pw_gecos

/* Define AMPERSAND_FULL_NAME if you use the convention
   that & in the full name stands for the login id.  */

#define AMPERSAND_FULL_NAME

/* # bytes of pure Lisp code to leave space for.
   Note that s-vms.h and m-sun2.h may override this default.  */

#ifndef PURESIZE
#ifdef HAVE_X_WINDOWS
#define PURESIZE 122000
#else
#define PURESIZE 119000
#endif
#endif

/* Define HIGHPRI as a negative number
   if you want Emacs to run at a higher than normal priority.
   For this to take effect, you must install Emacs with setuid root.
   Emacs will change back to the users's own uid after setting
   its priority.  */

/* #define HIGHPRI */

#define NO_SIOCTL_H
#undef SIGIO
Technical Details
Message-ID: <JTSILLAS.91Jun13173231@sprite.ma30.bull.com>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!cis.ohio-state.edu!tut.cis.ohio-state.edu!unreplyable!garbage

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,28b74e27d8ac8f6b,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1991-06-13 14:32:31 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!cis.ohio-state.edu!tut.cis.ohio-state.edu!unreplyable!garbage
From: jtsillas@SPRITE.MA30.BULL.COM (James Tsillas)
Newsgroups: gnu.emacs.bug
Subject: SIGIOT recieved in quit_throw_read_command() in keyboard.c
Message-ID: <JTSILLAS.91Jun13173231@sprite.ma30.bull.com>
Date: 13 Jun 91 21:32:31 GMT
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: Bull HN, Worldwide Information Systems, Billerica, Mass., USA
Lines: 209
Approved: bug-gnu-emacs@prep.ai.mit.edu