rpe [Wed, 20 Aug 2014 17:15:17 +0000 (17:15 +0000)]
Store the positional args in vars with meaningful names which makes the arg
checking block easier to comprehend.
OK ajacoutot@
ajacoutot [Wed, 20 Aug 2014 15:04:14 +0000 (15:04 +0000)]
Greatly simplify get/set flags and status.
Provide a unified output for the status of disabled services/daemons:
foobar_flags will always be "NO" regardless of the type (pkg script,
base system daemon, special variable).
ajacoutot [Wed, 20 Aug 2014 13:23:56 +0000 (13:23 +0000)]
Drop default values from rc.conf.local when we run "enable".
mikeb [Wed, 20 Aug 2014 11:23:40 +0000 (11:23 +0000)]
Remove userland bits related to the crypto(4) interface; ok deraadt
mikeb [Wed, 20 Aug 2014 10:06:31 +0000 (10:06 +0000)]
Implement rxrinfo ioctl for cluster usage statistics
rpointel [Wed, 20 Aug 2014 07:55:45 +0000 (07:55 +0000)]
unify the declaration of functions.
ok aja@
ratchov [Wed, 20 Aug 2014 07:19:42 +0000 (07:19 +0000)]
Call audio_{pint,rint}() call-backs with the mutex held. Found by
Izumi Tsutsui, thanks!
ok miod@
phessler [Wed, 20 Aug 2014 06:52:21 +0000 (06:52 +0000)]
When doing Whole disk installs on macppc, blank the first 1 meg of the
disk, so we can successfully create our partitions including the
all important boot partition.
Reported by many, but last by /u/TheWalkingGlitch via reddit
OK krw@
mikeb [Wed, 20 Aug 2014 06:31:22 +0000 (06:31 +0000)]
Bye bye /dev/crypto
The interface has been disabled by default for about 4 years and
currently there's not much value in having it around at all.
ok deraadt
mikeb [Wed, 20 Aug 2014 06:23:03 +0000 (06:23 +0000)]
Bye bye /dev/crypto
The interface has been disabled by default for about 4 years and
currently there's not much value in having it around at all.
ok deraadt
mikeb [Wed, 20 Aug 2014 06:14:42 +0000 (06:14 +0000)]
unlink crypto(4) pseudo device from the architecture dependant character
device tables and kernel config files. ok deraadt
doug [Wed, 20 Aug 2014 06:03:20 +0000 (06:03 +0000)]
Release CPU mutexes on EINVAL.
ok guenther@
guenther [Wed, 20 Aug 2014 04:12:30 +0000 (04:12 +0000)]
Backport support for i386/amd64 'rdtscp' instruction from binutils-2.17
Request and testing by krw@
dlg [Wed, 20 Aug 2014 03:29:35 +0000 (03:29 +0000)]
brad said i had some whitespace screwups in my previous diff. this cleans
them up and the others i found in this file.
no functional change.
deraadt [Wed, 20 Aug 2014 01:28:55 +0000 (01:28 +0000)]
djm how did you make a typo like that...
dlg [Wed, 20 Aug 2014 01:02:50 +0000 (01:02 +0000)]
remove the custom jumbo allocator. its never been enabled or used.
putting this into the tree to make it easier to test.
dlg [Wed, 20 Aug 2014 01:02:02 +0000 (01:02 +0000)]
replace the custom jumbo allocator with MCLGETI.
putting this in the tree to make it easier for people to test.
dlg [Wed, 20 Aug 2014 01:00:15 +0000 (01:00 +0000)]
replace the custom jumbo allocator with MCLGETI.
putting this in the tree to make it easier for people to test.
dlg [Wed, 20 Aug 2014 00:59:56 +0000 (00:59 +0000)]
replace the custom jumbo allocator with MCLGETI.
putting this in the tree to make it easier for people to test.
dlg [Wed, 20 Aug 2014 00:50:45 +0000 (00:50 +0000)]
replace sks jumbo allocator with MCLGETI. the system provides jumbos in
the right shape now, we dont have to do it by hand all over the place
any more.
rework the rxr ring management to use if_rxring while here.
largely based on if_sk.c r1.152 and if_skvar.h r1.4 by kettenis.
tested by me on:
skc0 at pci3 dev 11 function 0 "Schneider & Koch SK-98xx" rev 0x12, GEnesis (0x0): apic 3 int 5
sk0 at skc0 port A: address 00:00:5a:99:8a:ec
xmphy0 at sk0 phy 0: XMAC II Gigabit PHY, rev. 2
and this from ian mcwilliam
skc0 at pci0 dev 9 function 0 "D-Link DGE-530T B1" rev 0x11, Yukon Lite (0x9): apic 2 int 17
sk0 at skc0 port A: address 00:17:9a:ba:b5:39
eephy0 at sk0 phy 0:
88E1011 Gigabit PHY, rev. 5
tested by brad@ too
dlg [Wed, 20 Aug 2014 00:00:46 +0000 (00:00 +0000)]
bring back r1.130:
add an explicit rwlock around the global state (the pool list and serial
number) rather than rely on implicit process exclusion, splhigh and splvm.
the only things touching the global state come from process context so we
can get away with an rwlock instead of a mutex. thankfully.
ok matthew@
djm [Tue, 19 Aug 2014 23:58:28 +0000 (23:58 +0000)]
When dumping the server configuration (sshd -T), print correct KEX,
MAC and cipher defaults. Spotted by Iain Morgan
djm [Tue, 19 Aug 2014 23:57:18 +0000 (23:57 +0000)]
~-expand lcd paths
schwarze [Tue, 19 Aug 2014 23:35:28 +0000 (23:35 +0000)]
Let's talk about obstacles you face when trying to pull off a partial tedu@.
miod [Tue, 19 Aug 2014 19:04:07 +0000 (19:04 +0000)]
More PIC programming magic, as well as a specific workaround for lost
interrupts in PIC rev 1; from IRIX via Linux 2.5.69.
This doesn't fix the lost SCSI interrupts jasper@ eventually experiences on
Origin 350 systems, but this can't hurt anyway.
miod [Tue, 19 Aug 2014 19:01:15 +0000 (19:01 +0000)]
Set Eng. GFE has a 32-bit ID register, so put it in the 32-bit section.
No change but ordering in the generated files, so I won't even bother to
regen them - this is only a `documentation' change.
miod [Tue, 19 Aug 2014 18:02:48 +0000 (18:02 +0000)]
yet another typo
phessler [Tue, 19 Aug 2014 17:55:03 +0000 (17:55 +0000)]
Enable rts5227, as found in my new Thinkpad x240.
Shuffle the code around slightly, so we special case the 5209 chipset
instead of semi-randomly.
Tested on rts5227 by me, and rts5209 by stsp@
OK stsp@
ajacoutot [Tue, 19 Aug 2014 17:51:05 +0000 (17:51 +0000)]
Sync usage.
schwarze [Tue, 19 Aug 2014 17:45:43 +0000 (17:45 +0000)]
To make it even more obvious which combinations are allowed,
provide sub-synopses for the various internal commands,
and make it explicit what applies to daemons only and what
applies to other services as well.
Feedback and OK ajacoutot@.
schwarze [Tue, 19 Aug 2014 17:28:57 +0000 (17:28 +0000)]
Do not dereference a NULL pointer if a .Bl macro has
no -type, -width, -offset or -compact arguments whatsoever;
this got broken in mdoc_validate.c rev. 1.156.
While here, sort headers.
ajacoutot [Tue, 19 Aug 2014 16:47:18 +0000 (16:47 +0000)]
Simplify some checks
Return immediatly from add_flags() if we are already enabled and no flags
are (re)set; unbreak "enable" under some circumstances.
miod [Tue, 19 Aug 2014 16:13:24 +0000 (16:13 +0000)]
Three independent typos for `independent' or `independently'.
schwarze [Tue, 19 Aug 2014 16:05:02 +0000 (16:05 +0000)]
mdoc(7) style: remove trailing whitespace and .Pp before non-compact .Bd/.Bl
ajacoutot [Tue, 19 Aug 2014 15:26:18 +0000 (15:26 +0000)]
Drop commented code.
ajacoutot [Tue, 19 Aug 2014 14:08:20 +0000 (14:08 +0000)]
Introduce rcctl(8), a simple utility for maintaining rc.conf.local(8).
# rcctl
usage: rcctl enable|disable|status|action [service [flags [...]]]
Lots of man page improvement from the usual suspects (jmc@ and schwarze@)
not hooked up yet but committing now so work can continue in-tree
agreed by several
mpi [Tue, 19 Aug 2014 12:49:41 +0000 (12:49 +0000)]
When a local route entry is added for an ifa having a broadcast address,
also adds a broadcast entry flagged with RTF_BROADCAST.
Prior to this change broadcast entries were simple clonned ARP entries,
that would be deleted once their timer expired since they would always
be incomplete.
With this change they are now persistant and identifiable with a new flag.
Committing early to be able to deal with any potential fallout before we
start relying on this.
ok florian@, mikeb@, henning@
mpi [Tue, 19 Aug 2014 12:39:36 +0000 (12:39 +0000)]
Entries for broadcast addresses should also be ignored, just like local
entries.
ok florian@, mikeb@, henning@
mpi [Tue, 19 Aug 2014 12:28:03 +0000 (12:28 +0000)]
Keep pim code under #ifdef PIM to be coherent with what's in netinet/.
mpi [Tue, 19 Aug 2014 12:24:04 +0000 (12:24 +0000)]
Make sure state changes are properly serialized.
When pms(4) is attached to a touchpad it generally presents two different
wsmouse(4) devices: one for the touchpad itself and one for the clitpad
and/or some interleaved packets. But since both devices are writing to
the same pckbc slot, a race can occur if they try to change the state at
the same time.
So prevent two process opening the two /dev/wsmouse* node at the same time
to corrupt the magic sequences needed to enable/disable the touchpad.
ok schadchin@
dlg [Tue, 19 Aug 2014 11:13:16 +0000 (11:13 +0000)]
in myx_start, replace
while (space) {
IFQ_POLL;
myx_dequeue(free descr);
IFQ_DEQUEUE;
etc;
}
with
while (space && myx_dequeue(free descr)) {
IFQ_DEQUEUE;
etc;
}
uebayasi [Tue, 19 Aug 2014 10:01:50 +0000 (10:01 +0000)]
ld.so(1): Missing stack var initialization
Explicitly zero-clear stack array to read dynamic segments. This code has
been working because stack is mapped as anon and zero'ed right after execve(2).
Found by work-in-progress Valgrind port for OpenBSD/amd64.
OK millert@ guenther@
uebayasi [Tue, 19 Aug 2014 08:04:51 +0000 (08:04 +0000)]
pppx(4): Correct pppx_dev_lookup() and pppx_dev2pxd() local declarations
Those two functions take one dev_t argument, not int. Match declarations
with reality. No functional changes.
daniel [Tue, 19 Aug 2014 05:18:16 +0000 (05:18 +0000)]
libroff depends on libmandoc and so libmandoc should be included first.
this change makes the code slightly more portable by removing a gcc
extension (incomplete enum types) which is not part of ISO C.
ok schwarze@
dlg [Tue, 19 Aug 2014 03:28:53 +0000 (03:28 +0000)]
add -4 and -6 flags for saying if you want to force ipv4 or ipv6
respectively.
tweaks from jmc@
ok djm@
bluhm [Tue, 19 Aug 2014 00:53:01 +0000 (00:53 +0000)]
The _exit codes in syslogd privsep.c were the wrong way around.
Fatal errors should exit with 1, and regular shutdown should result
in exit with 0.
OK deraadt@
bluhm [Tue, 19 Aug 2014 00:28:48 +0000 (00:28 +0000)]
Replace manually written function names with __func__.
OK sthen@
bluhm [Tue, 19 Aug 2014 00:24:00 +0000 (00:24 +0000)]
Fix trailing white spaces.
OK sthen@
bluhm [Mon, 18 Aug 2014 22:58:19 +0000 (22:58 +0000)]
Make the perl modules consistent for the multiple regression tests.
This includes coding style, better error messages and variable
naming.
schwarze [Mon, 18 Aug 2014 22:21:52 +0000 (22:21 +0000)]
Fix read access to uninitialized memory found by kristaps@ with valgrind,
patch from kristaps@.
Theoretically, this could lead to a buffer overrun and segfault,
but only for very long output lines (about 1000 charecters) of
exactly the right length or if by ill chance, the complete unused,
uninitialized tail of the line output buffer (at least 1000 characters
total length) would contain all blank characters. Anyway, the
uninitialized data read wasn't used for anything.
bluhm [Mon, 18 Aug 2014 22:05:08 +0000 (22:05 +0000)]
Add a description of what the relayd and sosplice regression tests
do. Also explain the optional environment variables.
bluhm [Mon, 18 Aug 2014 21:53:40 +0000 (21:53 +0000)]
Make out of band data tests more reliable. As multiple tcp urgent
bytes cannot be handled correctly, allow another variation.
bluhm [Mon, 18 Aug 2014 21:51:45 +0000 (21:51 +0000)]
Make the forking tests more reliable. During copy the read(2)
system call might fail with EAGAIN when the other forked process
has already read the data.
bluhm [Mon, 18 Aug 2014 21:49:17 +0000 (21:49 +0000)]
Make the multiple UDP packet test more reliable. The receive buffer
limit also counts the mbufs in it, so packets could be dropped.
Increase both send and receive socket buffer size.
bluhm [Mon, 18 Aug 2014 21:43:45 +0000 (21:43 +0000)]
Add test cases for multiple small HTTP requests. Many PUT requests
with ony byte content length triggered relayd to hang. This has
been fixed already.
tobias [Mon, 18 Aug 2014 20:58:56 +0000 (20:58 +0000)]
Variables to count seen packets should be unsigned.
ok krw@
deraadt [Mon, 18 Aug 2014 19:41:18 +0000 (19:41 +0000)]
sync
bcook [Mon, 18 Aug 2014 19:15:34 +0000 (19:15 +0000)]
replace more ROTATE macros with plain-old C code.
Let the compiler optimize these. Even older versions of gcc generate
equal or better quality code than the inline asm.
ok miod@
bcook [Mon, 18 Aug 2014 19:11:48 +0000 (19:11 +0000)]
remove return value from HOST_c2l/l2c macros
These macros and asm inlines simulate a function returning a value, but
nothing ever uses this return value. Remove the pseudo-returns and
(void) casts discarding the unused values.
This, maybe unsurprisingly, speeds things up a bit. It also removes the
GCC 4.9 warnings about unused values.
ok miod@ deraadt@
miod [Mon, 18 Aug 2014 17:56:45 +0000 (17:56 +0000)]
Explicitely need <sys/pool.h> now.
miod [Mon, 18 Aug 2014 17:23:06 +0000 (17:23 +0000)]
Sigh, ignoring instruction fetch bus errors for the kernel code should not
depend upon the address being at the beginning of a cache line, for we may
arrive in the middle of a line thanks to a branch. Noticed the hard way...
schwarze [Mon, 18 Aug 2014 16:26:13 +0000 (16:26 +0000)]
When the first child of the node being validated gets deleted during
validation, man_node_unlink() switches to MAN_NEXT_CHILD. After
that, we have to switch back to MAN_NEXT_SIBLING after completing
validation, or subsequent parsing would add content into an already
closed node, clobbering potentially existing children, causing
information loss and a memory leak. Bug found by kristaps@ with
valgrind in groff(7) on Mac OS X.
Note that the switch back must be conditional, for if the node being
validated itself gets deleted, we must *not* go to MAN_NEXT_SIBLING,
which would not only yield wrong results in general but also crash
in malformed manuals having an empty paragraph before the first .SH,
for example OpenBSD c++filt(1).
While here, add the missing <sys/types.h> as required before mandoc.h.
tedu [Mon, 18 Aug 2014 14:35:37 +0000 (14:35 +0000)]
pool debug back on
tedu [Mon, 18 Aug 2014 14:34:58 +0000 (14:34 +0000)]
a small tweak to improve malloc in multithreaded programs. we don't need
to hold the malloc lock across mmap syscalls in all cases. dropping it
allows another thread to access the existing chunk cache if necessary.
could be improved to be a bit more aggressive, but i've been testing this
simple diff for some time now with good results.
dlg [Mon, 18 Aug 2014 13:29:13 +0000 (13:29 +0000)]
this uses pools, but relied on mbuf.h to provide them.
found by benoit@
schwarze [Mon, 18 Aug 2014 13:25:54 +0000 (13:25 +0000)]
kristaps@ found this with valgrind, merge his patch from bsd.lv:
Fix a corner case where \H<nil> (where <nil> is the \0 character) would
cause mandoc_escape() to read past the end of an allocated string.
Found when a script scanning of all Mac OSX manuals accidentally also
scanned binary (gzip'd) files, discussed with schwarze@ on tech@mdocml.
reyk [Mon, 18 Aug 2014 13:13:42 +0000 (13:13 +0000)]
Sync proc.c with httpd. httpd needs SIGUSR1 but snmpd will ignore it
now instead of terminating the process.
ok blambert@
reyk [Mon, 18 Aug 2014 12:59:00 +0000 (12:59 +0000)]
Sync proc.c with httpd. httpd needs SIGUSR1 but relayd will ignore it
now instead of terminating the process.
ok florian@
reyk [Mon, 18 Aug 2014 09:43:02 +0000 (09:43 +0000)]
Sync proc.c with httpd. httpd needs SIGUSR1 but iked will ignore it
now instead of terminating the process.
ok mikeb@
dlg [Mon, 18 Aug 2014 05:11:03 +0000 (05:11 +0000)]
dont rely on mbuf.h to provide pool.h.
ok miod@, who has offerred to help with any MD fallout
ok guenther@
guenther [Mon, 18 Aug 2014 04:48:22 +0000 (04:48 +0000)]
Add mention of execvpe() setting errno on failure.
from Justus Baumgartner (meddev50 (at) gmail.com)
dlg [Mon, 18 Aug 2014 04:23:11 +0000 (04:23 +0000)]
its a bit silly to include mbuf.h to get to malloc.h. just include
malloc.h instead.
dlg [Mon, 18 Aug 2014 04:06:16 +0000 (04:06 +0000)]
introduce mbuf list and queue apis. both manage fifo lists of mbufs
and a count of the mbufs.
struct mbuf_list and the ml_foo() apis can be used to build lists of
mbufs where you dont need locking (eg, on the stack).
struct mbuf_queue and mq_foo() wrap mbuf_lists with a mutex, and
limits the number of mbufs that can be queued. they can be useful
for moving mbufs between contexts/subsystems.
with help from jmc@ for the manpage bits
mpi@ is keen
guenther [Mon, 18 Aug 2014 03:29:53 +0000 (03:29 +0000)]
Add fancy printing of ktrace()'s ops argument
mquery() has the exact same argument layout as mmap(), so share the case
Fix a couple brace placement glitches
dlg [Mon, 18 Aug 2014 01:28:44 +0000 (01:28 +0000)]
external page headers use an RB tree to find the page header
containing an item when its returned to the pool. this means you
need to do an inexact comparison between an items address and the
page address, cos a pool page can contain many items.
previously this used RB_FIND with a compare function that would do math
on every node comparison to see if one node (the key) was within the other
node (the tree element).
this cuts it over to using RB_NFIND to find the closest tree node
instead of the exact tree node. the node compares turns into simple
< and > operations, which inline very nicely with the RB_NFIND. the
constraint (an item must be within a page) is then checked only
once after the NFIND call.
feedback from matthew@ and tedu@
guenther [Sun, 17 Aug 2014 22:43:07 +0000 (22:43 +0000)]
Use %#o instead of %#x for mode_t
guenther [Sun, 17 Aug 2014 22:25:53 +0000 (22:25 +0000)]
Display symbolicly the mode argument of mkdir, mkfifo, mknod, and umask
schwarze [Sun, 17 Aug 2014 22:08:53 +0000 (22:08 +0000)]
typo, sorry
schwarze [Sun, 17 Aug 2014 22:06:49 +0000 (22:06 +0000)]
While all current callers pass valid data to ascii_hspan() only,
it's safer to assume incoming enum data might be invalid
and catch it instead of happily returning an unitialized int.
No functional change right now.
schwarze [Sun, 17 Aug 2014 21:02:06 +0000 (21:02 +0000)]
typo; Steven Honeyman <stevenhoneyman at gmail dot com>
doug [Sun, 17 Aug 2014 21:01:24 +0000 (21:01 +0000)]
Sync regress/usr.sbin/relayd with recent http.h changes
jmc [Sun, 17 Aug 2014 18:46:29 +0000 (18:46 +0000)]
don;t mark up {};
schwarze [Sun, 17 Aug 2014 18:42:07 +0000 (18:42 +0000)]
Segfault fixes from kristaps@.
Note that .It and .Nm blocks without bodies cannot be generated by
valid mdoc(7) syntax but are a adequate representations of invalid
mdoc(7) constructs like Bl -hang It Bo Sh and Sh SYNOPSIS Nm Bo Sh.
ajacoutot [Sun, 17 Aug 2014 14:43:34 +0000 (14:43 +0000)]
Execute /etc/netstart using sh(1) instead of sourcing it.
Committing early to make sure we have time to fix any side-effect.
ok deraadt@
ajacoutot [Sun, 17 Aug 2014 14:41:03 +0000 (14:41 +0000)]
When running interactively, display the output of the "check" action
(ok or failed) like we do with all other actions.
ok jung@ rpe@
doug [Sun, 17 Aug 2014 12:30:28 +0000 (12:30 +0000)]
Fix regression tests for ld.so
It now runs correctly with 'make depend regress'
miod [Sun, 17 Aug 2014 11:11:34 +0000 (11:11 +0000)]
On kernels compiled with R10000 support, ignore (by simply returning)
`bus error upon instruction fetch' exceptions where the faulting address is
in the kernel, and at the very beginning of an I$ cache line.
(I've experienced these on an R16000 Fuel since several months already)
dlg [Sun, 17 Aug 2014 09:48:55 +0000 (09:48 +0000)]
i broke the userland shim used for the extent regress test when i
made it so struct pool was only visible to _KERNEL. tedu broke it
too when he added the size argument to the kernel free
functions.
this fixes both issues. the main change is to provide a local version of
struct pool with just the bit (pr_size) needed for extent to run.
if extents take advantage of more malloc/pool features (eg, {M,PR}_ZERO
then this will need to be updated again.
found by and based on a diff from Theo Buehler
ok mpi@
jsg [Sun, 17 Aug 2014 09:00:44 +0000 (09:00 +0000)]
sync with hackathons.html
jmc [Sun, 17 Aug 2014 07:15:41 +0000 (07:15 +0000)]
update the built-ins list:
- "times" is both promoted to posix and special (ooh!)
- "pwd" is promoted to posix, but not special (aah!)
while here, jiggle the text somewhat to clarify that "non-POSIX"
actually meant when posix mode is off, not mandated by posix
joint work with guenther
deraadt [Sat, 16 Aug 2014 21:39:16 +0000 (21:39 +0000)]
repair operation of kern.arandom, which will only allow a buffer of
512 bytes. As a result, it stopped working...
ok miod
guenther [Sat, 16 Aug 2014 21:09:36 +0000 (21:09 +0000)]
Cover execvpe() in the description of what the envp arg means.
from Justus Baumgartner (meddev50 (at) gmail.com)
ok jmc@
schwarze [Sat, 16 Aug 2014 19:47:17 +0000 (19:47 +0000)]
If a stray .It follows .El, we are no longer in the list,
even though the list is still the last processed macro.
This fixes a regression introduced in mdoc_macro.c rev. 1.95:
Ulrich Spoerlein <uqs at FreeBSD> reports that various of their
kernel manuals trigger assertions.
bcook [Sat, 16 Aug 2014 18:47:40 +0000 (18:47 +0000)]
replace sprintf/strdup with asprintf in engine test
bcook [Sat, 16 Aug 2014 18:42:41 +0000 (18:42 +0000)]
only build the getrandom path if SYS_getrandom is defined.
like the sysctl path
tobias [Sat, 16 Aug 2014 17:33:40 +0000 (17:33 +0000)]
Fixed typo in "distinct".
ok jmc@
bcook [Sat, 16 Aug 2014 17:30:12 +0000 (17:30 +0000)]
use C rather than C++ array initialization syntax
this causes errors with stricter C compilers
bcook [Sat, 16 Aug 2014 17:21:56 +0000 (17:21 +0000)]
getrandom(2) support for getentropy_linux
This enables support for the new getrandom(2) syscall in Linux 3.17.
If the call exists and fails, return a failure in getentropy(2) emulation as
well. This adds a EINTR check in case the urandom pool is not initialized.
Tested on Fedora Rawhide with 3.17rc0 and Ubuntu 14.04
ok deraadt@
tedu [Sat, 16 Aug 2014 16:38:38 +0000 (16:38 +0000)]
reduce cutoff for "hours only" start times to reduce window of ambiguity.
ok deraadt
deraadt [Sat, 16 Aug 2014 07:49:27 +0000 (07:49 +0000)]
I found a number of interactive events which can cause signals, and go
down paths not previously marked as signal handled unsafe. Try to clean
up a few of them especially regarding errno, mark others as unsafe, and
repair a few by avoiding stdio. Glanced at by misc people in Slovenia,
but considered too risky before release..