all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Tom Wurgler <twurgler@goodyear.com>
Cc: philippe.waroquiers@eurocontrol.int,
	stef.van-vlierberghe@eurocontrol.int,
	philippe.waroquiers@eurocontrol.int, twurgler@goodyear.com,
	emacs-devel@gnu.org
Subject: Re: [rms@gnu.org: Re: [twurgler@goodyear.com: emacs-21.2.90 on HP 11.0]]
Date: Tue, 16 Jul 2002 09:49:09 -0400 (EDT)	[thread overview]
Message-ID: <200207161349.JAA15889@rds294.goodyear.com> (raw)
In-Reply-To: <200207161329.g6GDT0v21992@aztec.santafe.edu> (message from Richard Stallman on Tue, 16 Jul 2002 07:29:00 -0600 (MDT))


Hi,  I installed the patch to process.c, added the line to hpux11.h, took out
the change of Philippe's in atimer.c, uncommented the lines in hpux11.h that I
had commented out (the POSIX stuff), then compiled it with HP's cc.

Results:  1) I can now abort a running job in a shell fine.
          2) (sleep-for 3) still never comes back.
          3) Cursor doesn't blink and still goes away until you touch a key.
Thanks for all your efforts.

===========================================================================

Recently Richard Stallman <rms@gnu.org> wrote:

> Date: Tue, 16 Jul 2002 07:29:00 -0600 (MDT)
> From: Richard Stallman <rms@gnu.org>
> CC: stef.van-vlierberghe@eurocontrol.int, philippe.waroquiers@eurocontrol.int,
>         twurgler@goodyear.com, emacs-devel@gnu.org
> Reply-to: rms@gnu.org
> 
> If you make this change, and also add
> 
>   #define USG_SUBTTY_WORKS
> 
> in hpux11.h, does everything work right?
> 
> *** process.c.~1.376.~	Mon Jul 15 05:45:00 2002
> --- process.c	Mon Jul 15 14:42:52 2002
> ***************
> *** 1562,1570 ****
>   
>     if (inchannel >= 0)
>       {
> ! #ifndef USG 
> !       /* On USG systems it does not work to open the pty's tty here
> ! 	       and then close and reopen it in the child.  */
>   #ifdef O_NOCTTY
>         /* Don't let this terminal become our controlling terminal
>   	 (in case we don't have one).  */
> --- 1562,1570 ----
>   
>     if (inchannel >= 0)
>       {
> ! #if ! defined (USG) || defined (USG_SUBTTY_WORKS)
> !       /* On most USG systems it does not work to open the pty's tty here,
> ! 	 then close it and reopen it in the child.  */
>   #ifdef O_NOCTTY
>         /* Don't let this terminal become our controlling terminal
>   	 (in case we don't have one).  */
> ***************
> *** 1576,1582 ****
>   	report_file_error ("Opening pty", Qnil);
>   #else
>         forkin = forkout = -1;
> ! #endif /* not USG */
>         pty_flag = 1;
>       }
>     else
> --- 1576,1582 ----
>   	report_file_error ("Opening pty", Qnil);
>   #else
>         forkin = forkout = -1;
> ! #endif /* not USG, or USG_SUBTTY_WORKS */
>         pty_flag = 1;
>       }
>     else
> ***************
> *** 5027,5033 ****
>       current_group = Qnil;
>   
>     /* If we are using pgrps, get a pgrp number and make it negative.  */
> !   if (!NILP (current_group))
>       {
>   #ifdef SIGNALS_VIA_CHARACTERS
>         /* If possible, send signals to the entire pgrp
> --- 5027,5036 ----
>       current_group = Qnil;
>   
>     /* If we are using pgrps, get a pgrp number and make it negative.  */
> !   if (NILP (current_group))
> !     /* Send the signal to the shell's process group.  */
> !     gid = XFASTINT (p->pid);
> !   else
>       {
>   #ifdef SIGNALS_VIA_CHARACTERS
>         /* If possible, send signals to the entire pgrp
> ***************
> *** 5122,5128 ****
>   #endif /* defined (SIGNALS_VIA_CHARACTERS) */
>   
>   #ifdef TIOCGPGRP 
> !       /* Get the pgrp using the tty itself, if we have that.
>   	 Otherwise, use the pty to get the pgrp.
>   	 On pfa systems, saka@pfu.fujitsu.co.JP writes:
>   	 "TIOCGPGRP symbol defined in sys/ioctl.h at E50.
> --- 5125,5131 ----
>   #endif /* defined (SIGNALS_VIA_CHARACTERS) */
>   
>   #ifdef TIOCGPGRP 
> !       /* Get the current pgrp using the tty itself, if we have that.
>   	 Otherwise, use the pty to get the pgrp.
>   	 On pfa systems, saka@pfu.fujitsu.co.JP writes:
>   	 "TIOCGPGRP symbol defined in sys/ioctl.h at E50.
> ***************
> *** 5137,5164 ****
>   	else
>   	  err = ioctl (XINT (p->infd), TIOCGPGRP, &gid);
>   
> - #ifdef pfa
>   	if (err == -1)
> ! 	  gid = - XFASTINT (p->pid);
> ! #endif /* ! defined (pfa) */
>         }
>         if (gid == -1)
>   	no_pgrp = 1;
> -       else
> - 	gid = - gid;
>   #else  /* ! defined (TIOCGPGRP ) */
>         /* Can't select pgrps on this system, so we know that
>   	 the child itself heads the pgrp.  */
> !       gid = - XFASTINT (p->pid);
>   #endif /* ! defined (TIOCGPGRP ) */
>   
>         /* If current_group is lambda, and the shell owns the terminal,
>   	 don't send any signal.  */
> !       if (EQ (current_group, Qlambda) && gid == - XFASTINT (p->pid))
>   	return;
>       }
> -   else
> -     gid = - XFASTINT (p->pid);
>   
>     switch (signo)
>       {
> --- 5140,5167 ----
>   	else
>   	  err = ioctl (XINT (p->infd), TIOCGPGRP, &gid);
>   
>   	if (err == -1)
> ! 	  /* If we can't get the information, assume
> ! 	     the shell owns the tty.  */
> ! 	  gid = XFASTINT (p->pid);
>         }
> + 
> +       /* It is not clear whether anything really can set GID to -1.
> + 	 Perhaps on some system one of those ioctls can or could do so.
> + 	 Or perhaps this is vestigial.  */
>         if (gid == -1)
>   	no_pgrp = 1;
>   #else  /* ! defined (TIOCGPGRP ) */
>         /* Can't select pgrps on this system, so we know that
>   	 the child itself heads the pgrp.  */
> !       gid = XFASTINT (p->pid);
>   #endif /* ! defined (TIOCGPGRP ) */
>   
>         /* If current_group is lambda, and the shell owns the terminal,
>   	 don't send any signal.  */
> !       if (EQ (current_group, Qlambda) && gid == XFASTINT (p->pid))
>   	return;
>       }
>   
>     switch (signo)
>       {
> ***************
> *** 5210,5216 ****
>         kill (gid, signo);
>       }
>   #else /* ! defined (TIOCSIGSEND) */
> !   EMACS_KILLPG (-gid, signo);
>   #endif /* ! defined (TIOCSIGSEND) */
>   }
>   
> --- 5213,5219 ----
>         kill (gid, signo);
>       }
>   #else /* ! defined (TIOCSIGSEND) */
> !   EMACS_KILLPG (gid, signo);
>   #endif /* ! defined (TIOCSIGSEND) */
>   }
>   
> 
> 

  reply	other threads:[~2002-07-16 13:49 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-15 10:42 [rms@gnu.org: Re: [twurgler@goodyear.com: emacs-21.2.90 on HP 11.0]] WAROQUIERS Philippe
2002-07-16 13:29 ` Richard Stallman
2002-07-16 13:49   ` Tom Wurgler [this message]
2002-07-17  3:03     ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2002-07-17 10:46 WAROQUIERS Philippe
2002-07-17 13:47 ` Tom Wurgler
2002-07-18 14:55   ` Richard Stallman
2002-07-17 18:39 ` Tom Wurgler
2002-07-18 14:55 ` Richard Stallman
2002-07-19 13:37   ` Tom Wurgler
2002-07-19 21:11     ` Stef Van Vlierberghe
2002-07-16 14:11 WAROQUIERS Philippe
     [not found] <5983E4DAC939D311B2F20008C7E62E7A075D2365@clsh01xch.office.cfmu.eurocontrol.be>
2002-07-12 11:12 ` Richard Stallman
2002-07-12 21:52   ` Stef Van Vlierberghe
2002-07-13 14:20     ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200207161349.JAA15889@rds294.goodyear.com \
    --to=twurgler@goodyear.com \
    --cc=emacs-devel@gnu.org \
    --cc=philippe.waroquiers@eurocontrol.int \
    --cc=stef.van-vlierberghe@eurocontrol.int \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.