Commit Graph

45 Commits

Author SHA1 Message Date
rdivacky
4117cffd4e Fix tcsh losing history when tcsh terminates because the pty beneath it
is closed.

Diagnosed by Ted Anderson:

New signal queuing logic was introduced in 6.15 and allows the signal handlers
to be run explicitly by calling handle_pending_signals, instead of
immediately when the signal is delivered.  This function is called at
various places, typically when receiving a EINTR from a slow system call
such as read or write.  In the pty exit case, it was called from xwrite,
called from flush, while printing the "exit" message after receiving EOF
when reading from the pty (note that the read did not return EINTR but
zero bytes, indicating EOF).  The SIGHUP handler, phup(), called
rechist, which opened the history file and began writing the merged
history to it.  This process invoked flush recursively to actually write
the data.  In this case, however, the flush noticed it was being called
recursively and decided fail by calling stderror.

My conclusion was that the signal was being handled at a bad time.  But
whether to fix flush not to care about the recursive call, or to handle
the signal some other time and when to handle it, was unclear to me.
However, by adding an extra call to handle_pending_signals, just after
process() returns to main(), I was able to avoid the truncated history
after network outages and similar failures.  I verified this fix in
version 6.17.

Approved by:	ed (mentor)
MFC after:	1 week
2009-10-06 20:19:16 +00:00
mp
e5921a6fae Update to tcsh 6.17.00.
Approved by:	re (kensmith)
2009-07-11 05:35:08 +00:00
mp
5c3d0e09d7 Flatten vendor/tcsh/dist. 2009-07-10 21:00:38 +00:00
kib
e91d5cfe69 Usermode portion of the support for swap allocation accounting:
- update for getrlimit(2) manpage;
- support for setting RLIMIT_SWAP in login class;
- addition to the limits(1) and sh and csh limit-setting builtins;
- tuning(7) documentation on the sysctls controlling overcommit.

In collaboration with:	pho
Reviewed by:	alc
Approved by:	re (kensmith)
2009-06-23 20:57:27 +00:00
ru
604182d32e Actually fix pty detection for autologout setting.
(The fix has been submitted upstream.)
2008-10-20 08:44:14 +00:00
keramida
42f134da57 tcsh: fix abort in cleanup_until(), caused by internal xgetpass()
The xgetpass() function pushes a cleanup entry for &osa, but then
attempts to flush the stack until an entry matching &sa.  The two
object pointers do not match, so the stack is popped too much,
and then cleanup_until calls abort() when it unexpectedly hits
the bottom of the cleanup stack.

Reported by:	Paul B. Mahol, onemda at gmail.com,
		Pietro Cerutti, gahr at gahr.ch
PR:		bin/124191
Reviewed by:	mp, kris
MFC after:	2 days
2008-07-20 18:05:18 +00:00
delphij
e863b68dce Reapply a bugfix that was done as sh.lex.c,v 1.1.1.8 2008-03-12 23:01:33 +00:00
delphij
ba621be3a9 This commit was generated by cvs2svn to compensate for changes in r177128,
which included commits to RCS files with non-trunk default branches.
2008-03-12 23:01:33 +00:00
mp
5174ae62f9 Import two vendor fixes from tcsh-6.15.01 for MFC to 7.0. The fixes are:
- Fix pty detection for autologout setting
    - kill `foo` got stuck because sigchld was disabled too soon

Requested by: re
2007-10-15 16:54:07 +00:00
mp
83d7763578 This commit was generated by cvs2svn to compensate for changes in r172668,
which included commits to RCS files with non-trunk default branches.
2007-10-15 16:54:07 +00:00
mp
7932b13626 Import two vendor fixes from tcsh-6.15.01 for MFC to 7.0. The fixes are:
- Fix pty detection for autologout setting
  - kill `foo` got stuck because sigchld was disabled too soon

Requested by: re
2007-10-15 15:23:07 +00:00
mp
e4e90e0d08 This commit was generated by cvs2svn to compensate for changes in r172665,
which included commits to RCS files with non-trunk default branches.
2007-10-15 15:23:07 +00:00
mp
637c0444dc Import vendor patch to fix postcmd regression in tcsh-6.15.00. 2007-04-03 15:51:53 +00:00
mp
82d7694e69 This commit was generated by cvs2svn to compensate for changes in r168305,
which included commits to RCS files with non-trunk default branches.
2007-04-03 15:51:53 +00:00
mp
36b44d59ff Build updates for tcsh-6.15.00 import.
Reviewed by:	ume
Reminded by:	Divacky Roman
MFC after:	1 week
2007-03-11 22:41:19 +00:00
mp
a40980339b Import of tcsh-6.15.00 2007-03-11 22:33:41 +00:00
mp
c77fb6f45f This commit was generated by cvs2svn to compensate for changes in r167465,
which included commits to RCS files with non-trunk default branches.
2007-03-11 22:33:41 +00:00
ume
cf50059460 Remove the nls/*/charset files to the exclude list. These files
are required for NLS catalog support.
2006-03-16 04:01:27 +00:00
ume
32837fb336 Import required files to enable use of libiconv from tcsh-6.14.00.
Reviewed by:	arch (no objection)
2006-02-19 06:28:39 +00:00
ume
398a4709f3 This commit was generated by cvs2svn to compensate for changes in r155832,
which included commits to RCS files with non-trunk default branches.
2006-02-19 06:28:39 +00:00
mp
94a109bd81 Import of tcsh-6.14.00 2005-04-24 19:41:08 +00:00
mp
16c0f2dd0e This commit was generated by cvs2svn to compensate for changes in r145479,
which included commits to RCS files with non-trunk default branches.
2005-04-24 19:41:08 +00:00
mp
2062e7c869 Add the nls/*/charset files to the exclude list. These files are not needed
and only provide comments in the text NLS files.
2004-07-11 02:20:52 +00:00
mp
bbd1addf8f Import of tcsh-6.13.00 2004-07-11 02:17:56 +00:00
mp
fc6d10ab3e This commit was generated by cvs2svn to compensate for changes in r131962,
which included commits to RCS files with non-trunk default branches.
2004-07-11 02:17:56 +00:00
mp
e697131610 Document upgrade procedure. 2002-07-24 16:42:58 +00:00
mp
f2c2aa29b7 Import of tcsh-6.12.00 2002-07-24 16:23:10 +00:00
mp
8f8ca3304f This commit was generated by cvs2svn to compensate for changes in r100616,
which included commits to RCS files with non-trunk default branches.
2002-07-24 16:23:10 +00:00
mp
e8a1e84ed0 - Add support for autodetection of *.euc?? and *.EUC locales.
- ja_JP.eucJP, ja_JP.EUC
  - ko_KR.eucKR, ko_KR.EUC
  - zn_CN.eucCN, zn_CN.EUC
- Add support for zh_TW.Big5
- Add ja_JP.Shift_JIS alias for ja_JP.SJIS

Submitted by: phantom
Approved by: Christos Zoulas <cristos@zoulas.com> - TCSH maintainer
2002-02-10 04:40:26 +00:00
mp
a752dc58a8 This commit was generated by cvs2svn to compensate for changes in r90446,
which included commits to RCS files with non-trunk default branches.
2002-02-10 04:40:26 +00:00
mp
538cdbc622 Import tcsh-6.11 2001-09-05 17:49:32 +00:00
mp
8d8497f743 This commit was generated by cvs2svn to compensate for changes in r83098,
which included commits to RCS files with non-trunk default branches.
2001-09-05 17:49:32 +00:00
kris
9b07833722 Import vendor fix for buffer overflow in HOME environment variable 2001-03-03 23:45:43 +00:00
kris
61126b1ae1 This commit was generated by cvs2svn to compensate for changes in r73393,
which included commits to RCS files with non-trunk default branches.
2001-03-03 23:45:43 +00:00
ache
bc8bc2bb75 This file not present in 6.10 2000-11-30 21:07:50 +00:00
ache
5e7fc01bd9 Initial import of slightly trimmed tcsh 6.10 2000-11-30 21:05:33 +00:00
kris
d7d472004a Import vendor fix for insecure temporary filename creation with the
'<<' operator, reported on bugtraq by proton <proton@ENERGYMECH.NET>
2000-11-04 22:23:19 +00:00
obrien
88bc1777b9 Offical fixes to allow longer lines in the history and tweak expand_lex()
useage.
2000-06-10 22:20:53 +00:00
obrien
87ba46f558 Offical fixes to quiet compiler warnings. 2000-06-10 22:07:54 +00:00
obrien
5bc99b1036 Offical fixes to the history and I18N bugs ache found. 2000-06-10 21:38:51 +00:00
obrien
85b66f4b34 Offical fixes to the history and I18N bugs ache found. 2000-06-10 20:14:21 +00:00
obrien
1ac43653c0 history fix
Submitted by:	ache (forwarded to Christos Zoulas where fix was agreed to)
2000-05-02 20:00:07 +00:00
obrien
cd1e9aaaab This fix from christos@zoulas.com (Christos Zoulas) based on ache's
ports/shells/tcsh/patches/patch-ac fixes the problem with 8-bit characters
not highlighting properly.
2000-04-20 05:02:30 +00:00
obrien
efebb8d2fa 6.09.01 vendor update. 2000-04-20 04:22:36 +00:00
obrien
4ad28cefef Import the latest version of the 44BSD C-shell -- tcsh-6.09. 2000-04-15 04:41:27 +00:00