- Initial checkin. Explains what the various file here are.
TO.DO:
- moved to 'devel' subdirectory
archives:
- Initial checkin. Shows breakdown of distribution disks.
headers:
- made some updates. This is probably really out of date.
new.syscalls:
- deleted. This information is now in the kernel reference manual,
so avoid duplication.
status.bin:
- updated entries for ed, asml, assemble, cmpl, col, calendar.
status.lib:
- updated entries for routines vsyslogmt, syslogmt, vis, and unvis.
- updated entries for files syslog.c and vis.c
status.usrman:
- Initial checkin. This lists the status of the files in the
src/gno/usr.man directory hierarchy.
update.usrman:
- Initial checkin. A script to help keep status.usrman current.
Initial checkin. Explains what the various file here are.
adding.utils:
Initial checkin. Discusses stuff necessary to add utils to the
base distribution.
doing.builds:
Initial checkin. Explains how to create the base builds.
eliminate oldlog.c from the build. old_syslog() was only used by
syslog2.asm, and inspection showed it to be likely buggy anyway.
It was missing a field in the passed data structure, and using
it would cause any long-running daemon to run out of memory if
didn't crash first. For now I'm leaving oldlog.c where it is
rather than doing a 'cvs rm'.
syslog.c:
Major changes...
- The facility/priority has gone back to being of type int vice long;
the original change was a red herring.
- The current syslog implementation will now talk to Phil's original
syslogd.
- The busy wait in sendPort now forces a context switch.
syslog2.asm:
- I commented the sources while figuring out what Phil's syslogd
was doing. I may was well check in those comments even though
this file is not currently used.
- fixed the save name and the 'mcopy' directive
vis.c, unvis.c:
- initial checkin
- The facility/priority has gone back to being of type int vice long;
the original change was a red herring.
- The current syslog implementation will now talk to Phil's original
syslogd, so only list the version zero protocol structure.
Fixed several mutual exclusion problems, including a particularly nasty
one that would cause gsh to loop forever inside the memory manager. (You
could identify this one by the "BRA (-23)" at the bottom of the infinite
loop.)
Fixed the string vector print routine to properly handle all numbers of
entries in the hash table. Previously, it would always print duplicate
entries if there were < 6 commands hashed, and would sometimes print
duplicates (depending on previous contents of an internal table) for
other numbers of commands.
gsh would wait on background processes started from an exec file
(executed, not sourced). Now the exec file does not wait on the process,
but the background process is not associated with the parent shell after
the exec file terminates.
Made gsh globbing work more like csh: if none of the requested patterns
are found, print "No match" and exit.
At startup, if /etc/glogin, $HOME/glogin, or $HOME/gshrc does not exist,
don't report a "file not found" error message. (PR#100)
out of 13/RInclude instead of /src/gno/build.tools. This implies that
builddate.rez has to have been previously installed in 13/RInclude; this
is done by the 'install' and 'release' targets in /src/gno/build.tools.
- initial checkin. Needed for 'install' and 'release' targets.
dmake.startup, startup.mk:
- When dmake finds a startup.mk in the current directory, it
parses that file after the system startup.mk. In this case they're
one and the same. While this shouldn't be a problem, it's
causing dmake to crash. See PR#99.
The workaround was to rename startup.mk in this directory to
dmake startup. It is renamed back to its proper name in the
recipes to the install and release targets.
Fixed several memory leaks.
Prefix command without any parameter (to list the prefixes) would cause
memory corruption when prefix had been invoked previously with a parameter.
Sourcing a command file from within an exec file could cause gsh to
wait forever, depending upon the commands executed in the sourced file.
All built-in commands return appropriate status: 1 for error, 0 for no error.
Fixed several cases where incorrect value was set in $status.
Added usage strings for tset, hash, commands, and history.
Fixed memory corruption error when edit command had no parameters.
When system() is called with pointer = NULL or with a command string that
causes gsh to detect an error (e.g., incompatibility with | and <), return
status of -1. In other cases, return process's status rather than always 0.
System would crash when output from a non-forked command was piped to
another process; for example clear | cat > /tmp/list
Fixed defect introduced in version 2.0d5: when a background job completed
while gsh was waiting for command line input, gsh would print a bogus error
message and quit.
from both Phil Vandry's v1 syslogd (which is part of init), and the
BSD version. It still needs some work, but it can log to a file
or to console at the moment.
Until syslogd v1 is removed from init, you should ensure that you're
not logging to the same file from both versions of syslogd.
- Added the sprintmt and vsprintmt routines. These are thread
safe variants of the sprintf and vsprintf routines. Note that
they don't support as many formatting options as stdio does.
gnomisc.c:
- Define the global variable "__progname". This is initially
set to "(unknown)", but is properly initialized to the return
value of __prognameGS() the first time that function is called.
- added thread safe functions syslogmt and vsyslogmt.
- minor changes to sendPort to make it thread safe
- moved variadic wrappers to the end of the file so that the
command line optimize/debug levels get propogated through
the rest of the source during compilation.
- changed the mechanism by which sendPort waits for it's buffer
to be released by syslogd
- since ctime(3) is not thread safe, add a flag to the
SyslogDataBuffer_t that tells syslogd(8) to add the appropriate
time stamp. This is easier than implementing thread safe
versions of ctime and localtime.
Add quotes around null parameters from the command line so they will be
parsed properly (resolves PR#84).
Output piped to an unfound command caused gsh to terminate, due to an
interface change to the GNO 2.0.6 version of getpgrp(2): it now returns the
process group of the caller. To get the process group number for the
pid passed as a parameter pid, the call has to be made to _getpgrp(2).
In addition to fixing invoke.asm, updates were also made in jobs.asm.
When directory stack is full, pushd, reports a new error message: 'pushd:
Directory stack full'. (Previously, 50 pushds would cause a crash.)
When parameter passed to "pushd +n" is <= 0, report a new error message:
'pushd: Invalid number'. (Previously, tried to chdir to the parameter.)
When a command appends to stderr (e.g., echo test >>&/tmp/err), stdin was
closed, due to errappend being defined as pipefds+2 rather than pipefds+4
in cmd.asm.
When there was an error reading stdin, gsh went into an infinite loop of
beeping and requesting more input. Changed getchar (in stdio.asm) and
GetCmdLine (in edit.asm) to report the error and terminate.
Code in cmd.asm set and reset handler for signal SIGSTOP (17). This makes
no sense, since there cannot be a handler for SIGSTOP. This was changed
to set and reset signal SIGTSTP (18) since that handler is used by gsh.
The error message "specify a command before redirecting" was never
caught by the invoke() subroutine because the next higher routine,
command(), checked for argv==0 before calling invoke(). The error
message was moved into command().
Initial checkin for sprintmt(3) and vsprintmt(3) documentation.
syslog.3:
Add descriptions of syslogmt(3) and vsyslogmt(3), which are thread-
safe variants with more limited format specifiers.
progname.3:
Added description of the "__progname" variable. This in effect
exposes the cache value used by __prognameGS(). It was necessary
for the proper operation of the thread-safe syslog routines.
The "up" link in the reference manuals was broken; the -up_title
flag to tex2html was missing.
intro.tex:
- reworked Overview chapter. Replaced "The GNO/ME Package" with
"Documentation Roadmap", updated "Obtaining GNO", etc.
- Added section to "Installing v2.0.6" about how to obtain source
by anonymous cvs and anonymous ftp.
- publish date changed
- updated copyright dates
refs.html:
- minor grammatical changes