unix-history/.git
30 years agoUse splimp/splx in MGET rather than disable/enable_intr() as it is cleaner
David Greenman [Wed, 1 Jun 1994 03:06:27 +0000 (03:06 +0000)]
Use splimp/splx in MGET rather than disable/enable_intr() as it is cleaner
and faster.

30 years agoFix tputs to work properly, i.e. output maximal known delay even
Andrey Chernov [Wed, 1 Jun 1994 02:47:25 +0000 (02:47 +0000)]
Fix tputs to work properly, i.e. output maximal known delay even
for speeds > 115200 instead of doing nothing

30 years agoRestore bin.bin for /usr/libexec/uucp, uucp owner not needed here
Andrey Chernov [Wed, 1 Jun 1994 02:39:37 +0000 (02:39 +0000)]
Restore bin.bin for /usr/libexec/uucp, uucp owner not needed here

30 years agoFixes from John Dyson for the bounce buffer bugs. The main problem was
David Greenman [Wed, 1 Jun 1994 01:58:10 +0000 (01:58 +0000)]
Fixes from John Dyson for the bounce buffer bugs. The main problem was
that non-contiguous memory wasn't being handled.

30 years agoadded make.conf template, which does nothing.
Poul-Henning Kamp [Wed, 1 Jun 1994 00:58:06 +0000 (00:58 +0000)]
added make.conf template, which does nothing.

30 years agoAdded the s_ran.c to the sources so that non-fpu users get a tan() function
Wiljo Heinen [Tue, 31 May 1994 23:53:57 +0000 (23:53 +0000)]
Added the s_ran.c to the sources so that non-fpu users get a tan() function
This was previously commented away for unknown reason, but is reportedly
working. The s_tan.c source is quite simple, just calling the kernel tan
function so this is unlikely to be incorrect.

30 years agoFrom Ache
Andrey Chernov [Tue, 31 May 1994 23:27:46 +0000 (23:27 +0000)]
From Ache
Better checking errors in configuration, especially missing IRQ

From Bruce

o Much better error reporting.  Can turn it off using flag 0x80.
o Ache's recent changes, edited to reduce the number of ifdefs and
  *dev variables.
o Hack to disable interrupts despite DELAY() enabling them.
o Don't test for interrupts if config says no interrupt.
o Ache's changes for reporting "master".  Switched order of testing
  'unit' here and in one other place.

30 years agoAdded `port=' option for NFS mounts, as in SunOS. This is useful for
Karl Lehenbauer [Tue, 31 May 1994 23:17:38 +0000 (23:17 +0000)]
Added `port=' option for NFS mounts, as in SunOS.  This is useful for
those of us running (for example) CFS & NFS.

30 years agoMade ospeed initialization working even if we will use
Andrey Chernov [Tue, 31 May 1994 23:03:25 +0000 (23:03 +0000)]
Made ospeed initialization working even if we will use
speeds > 115200 in future

30 years agoDon't relay on baudrate define here
Andrey Chernov [Tue, 31 May 1994 22:59:06 +0000 (22:59 +0000)]
Don't relay on baudrate define here

30 years agoOptimize previous ospeed fix
Andrey Chernov [Tue, 31 May 1994 22:54:38 +0000 (22:54 +0000)]
Optimize previous ospeed fix

30 years agoAdd missing 38400, 57600 and 115200 baud to delay table
Andrey Chernov [Tue, 31 May 1994 22:43:57 +0000 (22:43 +0000)]
Add missing 38400, 57600 and 115200 baud to delay table

30 years agoProper initialize ospeed for tputs
Andrey Chernov [Tue, 31 May 1994 22:37:11 +0000 (22:37 +0000)]
Proper initialize ospeed for tputs

30 years agoadded pcmcia entry. Please mail me if you are into PCMCIA devices and want
Poul-Henning Kamp [Tue, 31 May 1994 21:51:35 +0000 (21:51 +0000)]
added pcmcia entry.  Please mail me if you are into PCMCIA devices and want
to help testing this.

30 years agoFix tputs affcnt according to termcap(5), affects terminals
Andrey Chernov [Tue, 31 May 1994 20:35:32 +0000 (20:35 +0000)]
Fix tputs affcnt according to termcap(5), affects terminals
with padding
Fix clearing screen, if standout active

30 years agoFix bug with clearing EOL when standout active,
Andrey Chernov [Tue, 31 May 1994 19:52:02 +0000 (19:52 +0000)]
Fix bug with clearing EOL when standout active,
bringed by vi

30 years agoFix previous fix.
Andrey Chernov [Tue, 31 May 1994 19:06:23 +0000 (19:06 +0000)]
Fix previous fix.
1) Stat calls not fixed by it.
2) More quick way for opendir: change strlen(gpath) to *gpath

30 years agoCall fpsetmask(3) so awk doesn't dump core on FP exceptions.
Andrew Moore [Tue, 31 May 1994 18:58:00 +0000 (18:58 +0000)]
Call fpsetmask(3) so awk doesn't dump core on FP exceptions.
Upgrade to version 2.15.5

30 years agoProblem pointed out by Gene Stark: mput command breaks on namei changes.
Geoff Rehmet [Tue, 31 May 1994 18:51:06 +0000 (18:51 +0000)]
Problem pointed out by Gene Stark: mput command breaks on namei changes.

- on opendir call, if the directory to be opened is "" call opendir
  with "." instead.  This would not have any adverse effects if the
  namei changes were backed out.

30 years agoRemove COM_BIDIR -- obsoleted option
Andrey Chernov [Tue, 31 May 1994 18:32:39 +0000 (18:32 +0000)]
Remove COM_BIDIR -- obsoleted option

30 years agoRemove COM_BIDIR/FIFO_TRIGGER_* -- obsoleted options
Andrey Chernov [Tue, 31 May 1994 18:25:52 +0000 (18:25 +0000)]
Remove COM_BIDIR/FIFO_TRIGGER_* -- obsoleted options

30 years agoCorrect supported hardware (multiports)
Andrey Chernov [Tue, 31 May 1994 18:23:25 +0000 (18:23 +0000)]
Correct supported hardware (multiports)

30 years agoFix probe for Boca-boards (NOMASTER case)
Andrey Chernov [Tue, 31 May 1994 18:18:46 +0000 (18:18 +0000)]
Fix probe for Boca-boards (NOMASTER case)

30 years agoComment out uucpd, not properly configured as default
Andrey Chernov [Tue, 31 May 1994 17:55:38 +0000 (17:55 +0000)]
Comment out uucpd, not properly configured as default
Comment out walld/rusersd/rstatd, may be too verbose

30 years agoAdd missing uucp directories for search, whereis uucico show
Andrey Chernov [Tue, 31 May 1994 16:15:39 +0000 (16:15 +0000)]
Add missing uucp directories for search, whereis uucico show
only manpage instead

30 years agoChange mode of libexec/uucp to 0755
Andrey Chernov [Tue, 31 May 1994 15:59:14 +0000 (15:59 +0000)]
Change mode of libexec/uucp to 0755

30 years agoBack out previous change and allow uucico to run by others,
Andrey Chernov [Tue, 31 May 1994 15:55:43 +0000 (15:55 +0000)]
Back out previous change and allow uucico to run by others,
this required by several programs

30 years agoDocument options:
Jordan K. Hubbard [Tue, 31 May 1994 08:55:13 +0000 (08:55 +0000)]
Document options:

ALLOW_CONFLICT_IRQ
ALLOW_CONFLICT_IOADDR
MULTICAST
MROUTING

30 years agoMode 0775 for /var/spool/lock
Andrey Chernov [Tue, 31 May 1994 07:49:53 +0000 (07:49 +0000)]
Mode 0775 for /var/spool/lock

30 years agoDon't need to restrict cu, it can be able to check permissions by itself
Andrey Chernov [Tue, 31 May 1994 07:47:39 +0000 (07:47 +0000)]
Don't need to restrict cu, it can be able to check permissions by itself

30 years agoAllow uux and uucp to run by others,
Andrey Chernov [Tue, 31 May 1994 07:37:25 +0000 (07:37 +0000)]
Allow uux and uucp to run by others,
we can got problems with various mailers in other case

30 years agoI forget to add BINGRP=$(group)
Andrey Chernov [Tue, 31 May 1994 05:46:42 +0000 (05:46 +0000)]
I forget to add BINGRP=$(group)

30 years agoDisallow uucp execution to others.
Andrey Chernov [Tue, 31 May 1994 05:37:12 +0000 (05:37 +0000)]
Disallow uucp execution to others.
It maybe not so nice, but if any user can easily shut up your
mail feed with big file isn't nice too.

30 years agoAllow group "dialer" to run cu
Andrey Chernov [Tue, 31 May 1994 05:23:39 +0000 (05:23 +0000)]
Allow group "dialer" to run cu
Disallow others to run cu

30 years agoDon't allow others to run uuconv
Andrey Chernov [Tue, 31 May 1994 05:13:08 +0000 (05:13 +0000)]
Don't allow others to run uuconv

30 years agoDon't allow others run uuchk
Andrey Chernov [Tue, 31 May 1994 05:11:12 +0000 (05:11 +0000)]
Don't allow others run uuchk

30 years agoDon't allow others run uuxqt
Andrey Chernov [Tue, 31 May 1994 05:09:03 +0000 (05:09 +0000)]
Don't allow others run uuxqt

30 years agoDon't allow others run uucico
Andrey Chernov [Tue, 31 May 1994 05:08:11 +0000 (05:08 +0000)]
Don't allow others run uucico

30 years agoChange /var/spool/uucp/* modes to 0775
Andrey Chernov [Tue, 31 May 1994 05:05:41 +0000 (05:05 +0000)]
Change /var/spool/uucp/* modes to 0775

30 years agoMake /usr/libexec/uucp uucp.uucp 0750
Andrey Chernov [Tue, 31 May 1994 05:00:24 +0000 (05:00 +0000)]
Make /usr/libexec/uucp uucp.uucp 0750

30 years agoMake /etc/uucp uucp.uucp 0770
Andrey Chernov [Tue, 31 May 1994 04:53:08 +0000 (04:53 +0000)]
Make /etc/uucp uucp.uucp 0770

30 years agoUncomment uucpd, now it works
Andrey Chernov [Tue, 31 May 1994 04:48:49 +0000 (04:48 +0000)]
Uncomment uucpd, now it works
Uncomment rstatd/rusersd/rwalld all three worked
mountd still commented out, I remember some problem with it

30 years agoChange group to uucp group
Andrey Chernov [Tue, 31 May 1994 04:41:32 +0000 (04:41 +0000)]
Change group to uucp group

30 years agoIntruduce new group for uucp, gid 66
Andrey Chernov [Tue, 31 May 1994 04:38:13 +0000 (04:38 +0000)]
Intruduce new group for uucp, gid 66
Change uucp directories group too
Change "lock" directory group to "dialer" to allow various
dialout applications to access it

30 years agoIntruduce new group for uucp, gid 66
Andrey Chernov [Tue, 31 May 1994 04:36:30 +0000 (04:36 +0000)]
Intruduce new group for uucp, gid 66

30 years agoTab cleanup after multiply pacthes
Andrey Chernov [Tue, 31 May 1994 02:49:11 +0000 (02:49 +0000)]
Tab cleanup after multiply pacthes

30 years agoFix multiport probe bug pointed by John Capo:
Andrey Chernov [Tue, 31 May 1994 02:13:30 +0000 (02:13 +0000)]
Fix multiport probe bug pointed by John Capo:
dev->id_irq was 0 for multiport cards, so isa_irq_pending is impossible

30 years agoCorrect problem with *roff extention cause this error on every file
Andrey Chernov [Tue, 31 May 1994 00:28:38 +0000 (00:28 +0000)]
Correct problem with *roff extention cause this error on every file
using -me
/usr/share/tmac/tmac.e:1082: a newline character is not allowed in an escape name

*roff allows \*[long_name] it cause problems with me package
\*[ macro that means one char macro, not long name.
\*[ replaced to \*\[ to avoid this conflict.

30 years agoReplace all .ti0 to .ti 0, *roff produce error
Andrey Chernov [Mon, 30 May 1994 23:36:16 +0000 (23:36 +0000)]
Replace all .ti0 to .ti 0, *roff produce error

30 years ago1. General cleanup.
Gary Clark II [Mon, 30 May 1994 23:36:15 +0000 (23:36 +0000)]
1. General cleanup.
2. Added entry about how to add syscons.
3. Added entry about kill -1 syslogd
4. Added entry about Systems.faq
5. Added entry about dbm test failure with Perl

(Will be adding the Systems.faq here in the next few hours.)

30 years agoFrom Bruce:
Andrey Chernov [Mon, 30 May 1994 22:53:41 +0000 (22:53 +0000)]
From Bruce:

o Verbose error messages for probe.  Currently always enabled.
o Very Verbose comments about probe.
o Output a byte in probe to test if output interrupt works.
o Attempt to hide the byte using loopback.
o Moved initial DELAY() in probe to a better spot.
o Fixed another bug found by looking at ktrace output for uucp.
  Hangups by setting the output speed to 0 were failing because
  the input speed did not match.  It doesn't need to match in
  this case.

30 years agoIncorporate Geoff's patch to deal properly with this gid_t sillyness.
Paul Traina [Mon, 30 May 1994 21:59:31 +0000 (21:59 +0000)]
Incorporate Geoff's patch to deal properly with this gid_t sillyness.
This patch should not be incorporated into FreeBSD 2.0.

30 years agoRemove ttnread, now static
Andrey Chernov [Mon, 30 May 1994 21:56:22 +0000 (21:56 +0000)]
Remove ttnread, now static

30 years agoFrom Bruce:
Andrey Chernov [Mon, 30 May 1994 21:53:17 +0000 (21:53 +0000)]
From Bruce:

o PENDIN wasn't cleared by queue flush.
o Fixed race in ttnread() by splx() for FIONREAD.  Made ttnread()
  static so that it's obviously always called at spltty().  Need
  to remove decl of ttnread() from <sys/tty.h>.
o Fixed race for TIOCOUTQ.
o Simplified check for wakeups for CLOCAL rise.
o Ache's fix for wakeups for ICANON change + improved check and
  indentation.
o PENDIN wasn't set for ICANON rise either :-).  The old flag was
  set.  This may be why switching modes dropped input.  Are users
  really allowed to set PENDIN?  It's in <sys/ioctl_compat.h>.
o Ache's fix for wakeups for MIN/TIME change + formatted for 80 columns.
  o Moved TS_ZOMBIE test earlier.  Now always return 0 for read on
  zombie.  I think input can still arrive through ttyinput() from
  the h/w and from TIOCSTI, and from the sio bypass for ttyinput().
o Ache's fixes for IO_NDELAY mode + moved earlier.  Hope I got this
  right.

30 years agoCurses library problems Medium * Steven W.
Steven Wallace [Mon, 30 May 1994 21:38:08 +0000 (21:38 +0000)]
Curses library problems                 Medium *        Steven W.

Fixed problem when redirecting standard input.

30 years agoFixes:
Steven Wallace [Mon, 30 May 1994 21:35:02 +0000 (21:35 +0000)]
Fixes:
  .  programs that redirect standard input and use libcurses would fail
on tcgetattr() inside libcurses.
 - programs like 'sc' from SpecInt92 will work

New curses global variable:
  .  __tty_fileno is used in tty.c and tstp.c instead of constant STDIN_FILENO
for use in setting termios state (extern added to curses.h).

Explanation:
When a program redirected standard input to come from a file,
tcgetattr() would fail using STDIN_FILENO and curses would return
with an error on screen initialization.  Programs now have a second chance
if STDIN_FILENO fails by next trying to open /dev/tty.  If this does
not work, an error is returned.  __tty_fileno is used thereafter
in any future tcsetattr() / tcgetattr() calls.

30 years agoRemove bogus typecast -- compiler warning is valid, setgroups() man page
Paul Traina [Mon, 30 May 1994 19:35:44 +0000 (19:35 +0000)]
Remove bogus typecast -- compiler warning is valid, setgroups() man page
and include definitions need to be fixed (and will be fixed soon).

30 years agoChange return type for putchar() routine to deal with warnings (ideally,
Paul Traina [Mon, 30 May 1994 19:32:32 +0000 (19:32 +0000)]
Change return type for putchar() routine to deal with warnings (ideally,
this should all be changed to void, but this is harmless).

30 years agoDocument the DUMMY_NOPS option. I already forgot its existance and got
Guido van Rooij [Mon, 30 May 1994 18:34:57 +0000 (18:34 +0000)]
Document the DUMMY_NOPS option. I already forgot its existance and got
remembered by a recent posting of Rod.

30 years agoComment out MCR_LOOPBACK in probe
Andrey Chernov [Mon, 30 May 1994 15:44:10 +0000 (15:44 +0000)]
Comment out MCR_LOOPBACK in probe

30 years agoTemporary fix probe code, better solution is coming
Andrey Chernov [Mon, 30 May 1994 14:35:41 +0000 (14:35 +0000)]
Temporary fix probe code, better solution is coming

30 years agoGet device.c correct. For older versions of XFree86 it needs to have own
Andreas Schulz [Mon, 30 May 1994 06:15:40 +0000 (06:15 +0000)]
Get device.c correct. For older versions of XFree86 it needs to have own
definitions of INT_MIN and INT_MAX. For newer versions they are defined
over the x-include files and limits.h. The conditionals are already in since
my last commit some months ago but i forgot to delete the comment signs
around them :-).

30 years agoI don't have my c++ reference handy, but this member function ptr looked
Jordan K. Hubbard [Mon, 30 May 1994 05:34:06 +0000 (05:34 +0000)]
I don't have my c++ reference handy, but this member function ptr looked
suspicious, so I replaced it with a construct that made more sense to me
and lo and behold, it worked!  Now, as to why it broke in the first place,
THAT is a mystery! :-(

30 years agoMake bootblocks fit into 7168 limit
Andrey Chernov [Mon, 30 May 1994 05:23:53 +0000 (05:23 +0000)]
Make bootblocks fit into 7168 limit

30 years agoFinally eliminate /usr/local/bin from eth default search path for the
Wiljo Heinen [Mon, 30 May 1994 04:57:56 +0000 (04:57 +0000)]
Finally eliminate /usr/local/bin from eth default search path for the
"TOOLS" (gcc1, f2c, etc) so that standard gcc doesn't pick up defect
pieces from /usr/local or gcc parts for a different version.
Set with TOOLDIR_BASE_PREFIX. It was /usr/local, now it is
/usr/libexec.CVS: Enter Log.  Lines beginning with `CVS: ' are removed automatically

30 years agoFrom Ache:
Andrey Chernov [Mon, 30 May 1994 03:53:01 +0000 (03:53 +0000)]
From Ache:
Add proper devices for new sio initial/locking mechanism

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:50:01 +0000 (03:50 +0000)]
From Bde:
o Rewrote lots of it to be more like stty.1.  The old one was
  too verbose and the complicated options no longer exist.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:49:16 +0000 (03:49 +0000)]
From Bde:
o Removed bidir options.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:37:47 +0000 (03:37 +0000)]
From Bde:
o Use new sleep address macros.
o Fixed lots of races.  Carrier was tested outside of any spl(),
  and it wasn't retested after sleeping.  The fixes haven't been
  tested much.
o Output process didn't do what ttstart() would do.  Same bug
  was fixed in if_slip.c last year.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:35:53 +0000 (03:35 +0000)]
From Bde:
o Removed references to comselect().
o BTW I think there is a bug with the entries for the reserved
  devices.  They have NULL pointers; should have pointers to
  enxio().

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:33:37 +0000 (03:33 +0000)]
From Bde:
o Removed decl of ttydefaults.  ttydefaults doesn't exist; we use
  ttydefchars[] and ttychars().
o Split TS_ASLEEP into TS_SO_OLOWAT and TS_SO_OCOMPLETE.
  TS_SO_OLOWAT means the same as TS_ASLSEEP did, but I want to
  break anything using the old flags so that it gets fixed.
o Fixed whitespace in CAN_DO_IO().  Please be careful not to
  make regressive changes to whitespace.
o Removed decls of tty sleep message strings.
o Define sleep addresses centrally to ensure that they are unique.
  Abbreviations: TSA = Tty Sleep Address.  TS_SO = Tty State Sleep
  On.  We needed 2 new sleep addresses: old tp->t_out becomes
  TSA_OCOMPLETE(tp) and TSA_OLOWAT; old tp->t_raw becomes
  TSA_CARR_ON(tp) and TSA_HUP_OR_INPUT(tp).  Later we will need
  TSA_MODEM_STATUS_CHANGE(tp) to handle RI, etc.
o Declare new functions; fix old ones function; add struct decls
  so that <sys/tty.h> is closer to being self-contained.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:32:26 +0000 (03:32 +0000)]
From Bde:
o Fixed kludges to avoid _POSIX_VDISABLE.  Unsigned is the wrong
  type to cast to (should be cc_t = unsigned char) and breaks the
  use of the constants in #if's.
o Made ttydefchars static.  Nothing except tty.c seems to use it
  (I thought stty used it).  The array should also be const, and
  it should be handled using a #define like the ones for storage
  types.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:31:04 +0000 (03:31 +0000)]
From Bde:
o XXXed non-POSIX type for speed_t.  We use -1 and ints too
  much to hold speed_t's, so fixing only the header is not safe.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:30:29 +0000 (03:30 +0000)]
From Bde:
o Don't count non-returned opens when deciding whether to call
  the device close function for cdevs.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:29:53 +0000 (03:29 +0000)]
From Bde:
o Removed bidir ioctls.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:23:14 +0000 (03:23 +0000)]
From Bde:
o Removed final reference to nullmodem().

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:22:34 +0000 (03:22 +0000)]
From Bde:
o Use new sleep address macros.
o Removed references to TS_WOPEN.
o Cleaned up setting of `error' for the ptsopen sleep.  Hmm, tsleep
  would be more natural than ttysleep for an open.  I think it
  doesn't matter.
o Use ttwwakeup() to handle write-wakeups consistently.

30 years agoFrom Ache:
Andrey Chernov [Mon, 30 May 1994 03:20:48 +0000 (03:20 +0000)]
From Ache:
Fix ttread's EWOULDBLOCK return
Fix incorrect NDELAY behaviour in ttread
Fix some races in ttread
Add ttwakeup for ICANON/MIN/TIME changes

From Bde:
o Updated TODOs.
o Removed tty sleep message arrays.  They are all literal and
  unique now.  Maybe you can think of better names for ttybg[1-4].
  Indented most changed ttysleep() statements better.
o New function termioschars().  ttychars() is too specific to
  ttys.
o Permanent fix for low-water vs output-complete deadlock using
  unique sleep addresses for these events.
o Use ttwwakeup() to handle write-wakeups consistently after
  flushq()s.  One flushq() was missed previously.
o Tried harder to avoid races for sending start char when flushing.
  It's too hard to do in the current framework.  The start char
  needs to be handled out of band (kept out of the output queue).
o Don't resurrect zombies when CLOCAL is raised.  POSIX doesn't
  allow it.
o Only wake up things for CLOCAL rise.  Nothing cares about CLOCAL
  drop.  CLOCAL rise has the same effect as a carrier rise.
o Disable change that broke TIOCSPGRP.
o Removed references to TS_WOPEN.
o Removed diagnostics for calls to ttymodem() when t_state is
  strange.  TS_WOPEN wasn't used for much more than for deciding
  if the state is strange here!
o MDMBUF handling now applies after carrier is up instead of when
  TS_WOPEN isn't set.  When carrier first rises, it will act as
  enable flow control as well as TS_CARR_ON state.
o In ttymodem(), only wake up things explicitly for carrier rise.
  When carrier drops, if the state changes to TS_ZOMBIE, then
  almost everything is woken by the flush.
o Removed nullmodem().  It was only used by the non-working tablet
  discipline.  If there is a problem with too many wakeups (for
  select...) then don't use select() on the tablet discipline
  after you fix it :-).  We should disable ttselect() in some
  nonstandard disciplines.
o Improved code and comments for sleep on slp in ttread().
  Timeouts are built into ttysleep() and a separate timeout just
  complicates things.  (It had a confusing sleep address - qp
  instead of tp->t_raw, which worked because qp == tp->t_raw
  in the non-ICANON case).
o Moved the timeout for "ttchout" into tsleep() too.
o Fixed a nice bug for output to zombie ttys.  0 was returned
  instead of EIO, and unlike the case for input, programs should
  retry when 0 is returned for output.  Fortunately, this bug is
  not in 1.1R.
o New function ttwwakeup() to wake up any writers on a tty.
  Using this removes a lot of duplication.  The test to decide
  whether calling this function is necessary is still duplicated.
o Better initialization for `tmp' in ttyinfo().

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:20:08 +0000 (03:20 +0000)]
From Bde:
o Don't count non-returned opens when deciding whether to call
  the device close function for cdevs.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:16:02 +0000 (03:16 +0000)]
From Bde:
o Removed references to TS_WOPEN.
o Use ttwwakeup() to handle write-wakeups consistently.

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:15:09 +0000 (03:15 +0000)]
From Bde:
o Removed references to TS_WOPEN.
o Fixed bogus prototype for pcrint().
o Use ttwwakeup() to handle write-wakeups consistently.
o Replaced move_up() and move_down() by bcopyw().  Our
  bcopy*() always handled overlapped copies.
o Don't use bcopy() to copy the screen to the screen.  Some
  adaptors are said to be broken by 32-bit accesses.  All
  ISA adapators are 16-bit so little speed is lost.  For
  VLB and speed, just use syscons.
o Fixed Ctrl-Alt-Del.
o Improved keyboard handling after Debugger().
o Fixed off-by-1-page error in pcmmap() (could access 1 extra
  page at 0xD0000).

30 years agoFrom Bde:
Andrey Chernov [Mon, 30 May 1994 03:14:13 +0000 (03:14 +0000)]
From Bde:
o Removed references to TS_WOPEN (the one for hanging up was
  simply wrong for case of TS_WOPEN and TS_ISOPEN set (aborted
  open clobbers successful open, and TS_ISOPEN unset more or
  less corresponds to TS_WOPEN set).
o Unique name for sleep address ("comdcd" not ttopen[]).
o Use tsleep() instead of ttysleep().  Neither is quite right
  (revoking of tty for another open() shouldn't cause incomplete
  open to fail; comopen() should reinitialize after sleeping
  unless port is already open).
o Use ttwwakeup() to handle write-wakeups consistently.
o Removed comselect().  It just duplicated ttselect().

30 years agoFrom Ache:
Andrey Chernov [Mon, 30 May 1994 03:13:36 +0000 (03:13 +0000)]
From Ache:
Better kernel printout for multiport cards

From Bde:
o Get decls of tk_nin, etc. from "dkstat.h" (a stupid place).
o Mallocate sio structs as well as tty structs.
o FAKE_DCD() is now handled by setting CLOCAL in the initial
  and lock states.
o Removed ifdefs for COM_BIDIR.  It is now standard.  Callin
  devices now act identically (except for bug fixes) to the
  old standard devices if the callout devices are not used.
o New magic minors for initial and lock devices.  Better macros
  to handle magic minors.  "ls -l /dev" should show something
  like this:
crw-------   1 uucp     wheel     28,  0 May 26 01:18 /dev/ttyd0
crw-------   1 uucp     wheel     28,  1 May 21 11:25 /dev/ttyd1
crw-r--r--   1 root     wheel     28, 32 May 15 19:36 /dev/ttyid0
crw-r--r--   1 root     wheel     28, 33 May 15 19:36 /dev/ttyid1
crw-r--r--   1 root     wheel     28, 64 May 15 19:36 /dev/ttyld0
crw-r--r--   1 root     wheel     28, 65 May 15 19:36 /dev/ttyld1
crw-------   1 uucp     wheel     28,128 May 26 14:48 /dev/cua00
crw-------   1 uucp     wheel     28,129 May 26 18:57 /dev/cua01
crw-r--r--   1 root     wheel     28,160 May 15 18:58 /dev/cuai00
crw-r--r--   1 root     wheel     28,161 May 15 19:35 /dev/cuai01
crw-r--r--   1 root     wheel     28,192 May 15 18:56 /dev/cual00
crw-r--r--   1 root     wheel     28,193 May 15 19:35 /dev/cual01
  The initial and lock devices are controlled using commands like
  this:
stty </dev/ttyid0 57600        crtscts
stty </dev/ttyld0 57600 clocal crtscts
stty </dev/cuai00 57600        crtscts
stty </dev/cual00 57600        crtscts
  Here the port speed is changed from the default of 9600
  to 57600 and locked (any nonzero speed works as a lock).
  clocal defaults to off and is locked off for the callin
  device to avoid certain security holes.  crtscts is changed
  from the default of off to on and locked on (flag bits are
  locked by setting the same bits in the lock port).  It is
  only necessary to set the initial state for buggy programs
  that don't set it for themself.  It is dangerous to set
  lock bits if the device cannot support them (e.g., locking
  crtscts on for a mouse port will probably hang the X server).
  However, it may be necessary to set lock bits for buggy
  programs that clear nonstandard bits.
o Removed FIFO_TRIGGER.  The fifo trigger level is now set
  automatically.  It is always set to 1 for slow mouses.  It
  is set to 14 for the very first open but drops back to 8
  for first opens and to as low as 1 if overruns occur.  I
  haven't been able to load my system enough to get it to
  drop below 8.  Changes to the levels are logged.  Please
  report if the level ever drops below 8.
o The fifo disable flag still works to disable the fifo
  completely.  Please don't use it.
o Removed ifdefs for 1.1R interrupt handling.
o Removed ifdefs for non-mallocation of tty structs.
o Use timeout instead of sleep to hold down DTR for long
  enough.  Fixed races.  Now opens have to sleep while
  DTR is being held down.
o Urgent input character now depends on the line discipline.
  Previously it only worked for SLIP.  Now it might work
  for PPP to reduce latency by half a tick.
o Attempted to fix initialization of interrupts for 4ports
  (flag bit 0x1 means 4port-compatible, not multiport).  The
  master interrupt control register and ~OUT2 (badly aka
  MCR_IENABLE) have to be initialized before probing for
  interrupts.
o Rewrote sioopen() to simplify it and avoid races.  Too
  many changes to list.  Essentially, an open either succeeds
  immediately or sleeps until it can succeed immediately.
  After every sleep, all the conditions required for success
  are checked again by restarting the open from near the top.
o Callout ports are implemented using trapdoor carrier again.
  You can program their initial state to set CLOCAL if you
  want.
o Use new sleep address macros.  Better names for sleep addresses.
o Removed bidir ioctls.  There are enough important races to
  worry about.
o Special treatment for ioctls to new initial and lock state
  devices.  These devices only support ioctls, not read, write
  or select.  Separate devices work better than would selector
  bits like CIGNORE because ordinary stty(1) works on them, and
  it is impossible to open a callin/callout device while the
  device going in the other direction is active.
o The DTR wait time as seen by ioctls it is now always in
  hundredths of a second (independent of hz).
o Removed TB_*() macros.  There is no point to only using them
  in sio.
o Use ttwwakeup() to handle write-wakeups consistently.

30 years ago>From Jordan K. Hubbard
Geoff Rehmet [Sun, 29 May 1994 19:55:49 +0000 (19:55 +0000)]
>From Jordan K. Hubbard
>From: jtk@atria.com (John T. Kohl)

in rcmd:
It calls select() with a hardcoded "number of file descriptors" argument
of 32, rather than computing it based on the sockets about which it
cares.

- change this to use FD_SETSIZE -- quick and dirty - that's the largest we can
  go in a FD_SET

I suggest we look at fixing these arguments to select() better in 2.0 --
there are lots of suspect looking calls to select in the 1.x tree.
I just don't have time to do a proper fix now.

Also: add some typecasts to shut the compiler up:
-- setgroups(2) wants an (int *) not a (gid_t *) as it's second
   argument.

30 years agoAdd the missing NOBOUNCE ifdef so that a kernel can be compiled
Andreas Schulz [Sun, 29 May 1994 18:15:57 +0000 (18:15 +0000)]
Add the missing NOBOUNCE ifdef so that a kernel can be compiled
with NOBOUNCE set.
ATTENTION people, this won't get you performance. It may even drop.
The bounce buffer code here plays with the clustering together.
In the nobounce case the buffer doesn't get checked if it can be
clustered but simply reported to do no clustering at it.
I only want to get it compiling again, so that we don't get so
much reports why the NOBOUNCE option doesn't work and give compilation
errors :-).

30 years agoPut back a missing NOBOUNCE around a call to vm_bounce_kva_free.
Andreas Schulz [Sun, 29 May 1994 18:06:31 +0000 (18:06 +0000)]
Put back a missing NOBOUNCE around a call to vm_bounce_kva_free.

30 years agoFrom John Dyson:
David Greenman [Sun, 29 May 1994 07:36:11 +0000 (07:36 +0000)]
From John Dyson:

Fixed a bug that under some conditions, a NULL pointer dereference could
occur.

30 years agoFrom John Dyson:
David Greenman [Sun, 29 May 1994 07:34:15 +0000 (07:34 +0000)]
From John Dyson:

Fixed a window of vulnerability in missing an incore buffer that could
cause problems, and some minor code cleanup.

30 years agoPatch from John Dyson:
David Greenman [Sun, 29 May 1994 07:28:10 +0000 (07:28 +0000)]
Patch from John Dyson:

When we added the clustering code, a condition of overlapping blocks in the
device I/O queue was not considered.  This could cause serious filesystem
corruption and could manifest itself in a couple of very unpleasant ways.
In almost all cases the file system would permanently loose files and various
panics would occur.  It appears that filesystems with FASTLINKs were
more vulnerable.  We suggest that if you have been getting the
vm_bounce_alloc panics, that you should totally rebuild the offending
filesystems after applying this patch, and before reinstalling the
new filesystem.  This should *definitely* reduce the number of corrupted
filesystem problems, and might eliminate the vm_bounce_alloc panics.

The solved problem does not appear very often in medium/lightly loaded
filesystems, but systems with lots of file opens/closes and vast directory
updates will have significant problems with this.  (Filesystem restores
(especially with high performance tape drives)  can/will cause this problem
to appear.)

30 years agoDon't include stddef.h. It was included for the offsetof macro...which
David Greenman [Sun, 29 May 1994 07:23:40 +0000 (07:23 +0000)]
Don't include stddef.h. It was included for the offsetof macro...which
has now been copied in here.

30 years agoTurn globbing on when a section number is specified, this makes things work
Geoff Rehmet [Sat, 28 May 1994 20:19:25 +0000 (20:19 +0000)]
Turn globbing on when a section number is specified, this makes things work
properly when /usr/share/man/man?/ contain gzipped unformatted pages.

30 years agoDo not declare sys_errlist or sys_nerr, they are already defined for you in
Rod Grimes [Sat, 28 May 1994 13:23:25 +0000 (13:23 +0000)]
Do not declare sys_errlist or sys_nerr, they are already defined for you in
stdio.h.

30 years agoPlease let stdio.h define sys_errlist and sys_nerr,
Rod Grimes [Sat, 28 May 1994 13:16:48 +0000 (13:16 +0000)]
Please let stdio.h define sys_errlist and sys_nerr,
include sys/errno.h to get definition of errno.
This makes this compile on both FreeBSD 1.x and FreeBSD 2.x

30 years agoMove values.h to libg++
Andrey Chernov [Sat, 28 May 1994 13:05:12 +0000 (13:05 +0000)]
Move values.h to libg++

30 years agoMove values.h to proper place
Andrey Chernov [Sat, 28 May 1994 13:02:41 +0000 (13:02 +0000)]
Move values.h to proper place

30 years agoAdd comments to Makefile.inc's about libg++ and shlib nos.
Geoff Rehmet [Sat, 28 May 1994 09:56:36 +0000 (09:56 +0000)]
Add comments to Makefile.inc's about libg++ and shlib nos.

30 years agoPrevent make clean in libg++ from mysteriously deleting /usr/lib/c++rt0.o
Geoff Rehmet [Sat, 28 May 1994 09:50:56 +0000 (09:50 +0000)]
Prevent make clean in libg++ from mysteriously deleting /usr/lib/c++rt0.o
- /usr/lib/c++rt0.o is only added to SOBJS if CPLUSPLUSLIB __AND__ not
making clean or cleandir.

(This fix streamlined by Jordan)

libg++ should now build shared properly.

30 years agoBecause f libg++'s deeeper directory structure, Makefile.inc must specify
Geoff Rehmet [Sat, 28 May 1994 09:45:07 +0000 (09:45 +0000)]
Because f libg++'s deeeper directory structure, Makefile.inc must specify
SHLIB major and MINOR. -- undo my earlier little f*ckup.

A comment will be added to src/gnu/Makefile, about the importance of this.

30 years agoFix stty to set/print VMIN/VTIME values
Andrey Chernov [Sat, 28 May 1994 03:41:16 +0000 (03:41 +0000)]
Fix stty to set/print VMIN/VTIME values

30 years agoMake and install the Sun math library if WANT_MSUN is set. You don't
Wiljo Heinen [Sat, 28 May 1994 00:22:18 +0000 (00:22 +0000)]
Make and install the Sun math library if WANT_MSUN is set. You don't
need to have a i387/i486DX to use the Sun math library. If you do have
a i387/i486DX you should also define HAVE_FPU. Both these options can
be set in /etc/make.conf, like:
HAVE_FPU= yes
WANT_MSUN= yes
(The variable is defined even if you set its value to zero, so if you
don't want  one of these take the line completely out)