Commit Graph

29726 Commits

Author SHA1 Message Date
jb
e4680d30d3 Implement compile time debug support instead of tracking file name and
line number every time a file descriptor is locked.

This looks like a big change but it isn't. It should reduce the size
of libc_r and make it run slightly faster.
1998-06-09 23:21:05 +00:00
jb
b4d098467a Add compile time debug instead of doing this all the time. Reduce the
time that a thread keeps the file descriptor table locked. In particular,
perform malloc/free calls outside the lock and handle the situation
where two threads can race to initialise the table entry for the same
file descriptor.
1998-06-09 23:16:53 +00:00
jb
e2de1c7ce7 Add support for compile time debug. This is enabled if libc_r is built
with -D_LOCK_DEBUG. This adds the file name and line number to each lock
call and these are stored in the spinlock structure. When using debug
mode, the lock function will check if the thread is trying to lock
something it has already locked. This is not supposed to happen because
the lock will be freed too early.

Without lock debug, libc_r should be smaller and slightly faster.
1998-06-09 23:13:10 +00:00
jb
824eb52ded POSIX says that pthread_exit() is not allowed to be called from a
cleanup destructor, so trap this case to prevent me from being being
burnt again by applications that try to do this. With this change, an
application (like one using a mis-configured ACE) will exit the process
after displaying a message quoting the POSIX section that the application
has violated.
1998-06-09 23:08:41 +00:00
jb
6bef44bba3 Add compile time thread lock debug support.
Add a thread specific flag to trap the case where pthread_exit() is
called from a destructor in violation of the Posix standard.
1998-06-09 23:02:43 +00:00
jb
149fd6eca0 Remove __NETBSD_SYSCALLS from CFLAGS now that it is set in sys.mk. 1998-06-09 22:59:16 +00:00
jb
2cefa1efbd Rename calls when building libc_r. 1998-06-09 22:57:34 +00:00
jb
41d132df3f Make this thread-safe in both libc as well as libc_r. 1998-06-09 22:56:24 +00:00
jb
09fd5b9594 Rename when building libc_r. 1998-06-09 22:45:39 +00:00
jb
b4d7deb8ae Add rename support for libc_r. 1998-06-09 22:43:34 +00:00
ache
6d069626d6 Fix usage string 1998-06-09 20:19:59 +00:00
brian
4bc3c8ad34 Show the time that we reached maximum throughput.
Submitted by: "Stephane E. Potvin" <sepotvin@videotron.ca>
1998-06-09 18:49:10 +00:00
ache
1100c9655f Indicate optional signal number field 1998-06-09 18:26:16 +00:00
ache
23f0420292 Add optional config file field: signal number to send (defaulted to HUP)
F.e. apache restarts less agressively  on USR1 then on HUP
1998-06-09 18:24:04 +00:00
wpaul
c451360ac4 Fix potential resource leak: when call to des_crypt_1() fails, remember
to destroy the RPC CLIENT handle before returning.
1998-06-09 17:38:33 +00:00
imp
3a869e2c7b sizeof(foo - 1) isn't the same as sizeof(foo) - 1.
Pointed out by: Theo De Raadt.
1998-06-09 14:51:05 +00:00
dfr
7c60b2bea1 Add (mostly stub) alpha support. Incidentally, it doesn't build on stable
unless I manually construct y.tab.h.  Is this normal?
1998-06-09 14:02:08 +00:00
dt
1284a6e0ab Print correct error message if we copy an unreadable directory. 1998-06-09 13:42:51 +00:00
dt
27d8521067 Fix typo in a comment. 1998-06-09 13:20:29 +00:00
phk
a4298481c9 Add a tc_ prefix to struct timecounter members.
Urged by:	bde
1998-06-09 13:10:54 +00:00
bde
d13943336b Pass lists of possible root devices and their names up to the
machine-independent code and try mounting the devices in the
lists instead of guessing alternative root devices in a machine-
dependent way.

autoconf.c:
Reject preposterous slice numbers instead of silently converting
them to COMPATIBILITY_SLICE.

Don't forget to force slice = COMPATIBILITY_SLICE in the floppy
device name.

Eliminated most magic numbers and magic device names in setroot().

Fixed dozens of style bugs.

vfs_conf.c:
Put the actual root device name instead of "root_device" in the
mount struct if the actual name is available.  This is useful after
booting with -s.  If it were set in all cases then it could be used
to do mount(8)'s ROOTSLICE_HUNT and fsck(8)'s hotroot guess better.
1998-06-09 12:52:35 +00:00
jb
91f495a7b3 Implement compile time thread lock debug. 1998-06-09 08:37:35 +00:00
jb
eb856053d1 Rename fstat as _thread_sys_fstat if being built into libc_r. 1998-06-09 08:35:42 +00:00
jb
0f134e687a Implement thread support for libc_r. Make the lseek syscall directly
to avoid recursive locking.
1998-06-09 08:34:35 +00:00
jb
7c1557c6f9 Implement compile time debug mode for thread locks. 1998-06-09 08:32:23 +00:00
jb
1e3270b62a Add support for thread lock debug. No impact of the malloc code. 1998-06-09 08:30:32 +00:00
jb
3a95b6373e Implement compile time debug support for spinlocks.
Simplify the atomic lock prototype, removing the lock value.

Delete the unlock prototypes that are not required.
1998-06-09 08:28:49 +00:00
jb
c2f213c811 Delete the atomic unlock function since it is no longer required.
Simplify the atomic lock to just write a value of 1 to the lock instead
of taking the value passed by the caller (which just confused things).
1998-06-09 08:25:41 +00:00
jb
969445866b Atomic lock asm code for the alpha version of libc_r. 1998-06-09 08:21:55 +00:00
bde
2ea1a64c6d Quick fixes for the mtree bootstrap:
- don't announce `mtree' as `mtools'.
- don't install to ${DESTDIR}/usr/sbin (which often doesn't exist if
  DESTDIR is set and may be read-only if DESTDIR is not set).
- install to (${WORLDTMP}/usr/sbin so that the new mtree is actually
  in $PATH if DESTDIR is set.
- don't use the host make or the host sys.mk.  This is probably
  unimportant.
- use a temporary obj dir like the one for `make'.  This was mainly
  necessary because I forgot to remove the MAKEOBJDIRPREFIX unsetting
  which was just a bug for mtree.  A non-quick fix would handle mtree
  more like a bootstrap tool (the only additional complications are to
  create ${BINDIR} and avoid excessive cleaning).  Except a non-quick
  fix would change much more.
1998-06-09 07:19:13 +00:00
imp
94b4cabe99 $@ is deprecated, use longer forms of single char macros 1998-06-09 05:36:48 +00:00
imp
5a24b59340 $@ deprecated, use long form.
PR:	conf/3273
1998-06-09 05:14:43 +00:00
imp
5baa95a1c9 If we get back too much data to fit in result, return NULL. This avoids
a buffer overflow, but might negatively impact those hosts who have
enough aliases to fill MAXHOSTNAMELEN * 2 characters in them.

Good candidate for merging back into -stable.  Lightly tested by me, but
it came from OpenBSD a while ago.

Obtained from: OpenBSD
1998-06-09 05:06:27 +00:00
imp
bb7f14183c Use correct size for readlink buffer. This is the size of the
buffer -1 since readlink adds its own NUL to the end.

Inspired by: Similar changes in OpenBSD
1998-06-09 05:02:29 +00:00
imp
7313585a14 use strncpy correctly
use strncat correctly
check buffer size in graph_name
Change paths from /tmp to /var/run for server sockets

This has been building in my tree for ages, but has remained lightly
tested.
Reviewed by:	jkh ages ago
1998-06-09 05:01:38 +00:00
imp
e5bb04e460 o be careful about buffer overflows
o Use snprintf rather than sprintf

This is only lightly tested.
1998-06-09 04:58:36 +00:00
imp
bb281813c3 Remove unused strvisx. 1998-06-09 04:35:20 +00:00
imp
895e96c0e6 Don't assume that hp->h_lenght == 4. Be conservative in its use.
Submitted by:	 J. Assange a long time ago.
1998-06-09 04:31:02 +00:00
imp
e15433af64 o Use snprintf rather than sprintf.
o Revert gid to caller before a shell so we can run setgid.
o minor style nits to make bruce happy :-)
o use strncpy correctly.
1998-06-09 04:28:05 +00:00
imp
51d799dda0 Use mkstemp rather than mktemp for yacc's temp files. This change was made
to OpenBSD a long time ago and to my tree shortly thereafter.  I think theo
made this change, or one similar to it, but I could be wrong.
1998-06-09 04:20:51 +00:00
imp
56ce0eeea4 o Use snprintf rather than sprintf
o Add more checks for buffer overflows
o Use snprintf rather than strcat/cpy and have better checks for max
  length exceeded.

Most of these changes are not exploitable buffer overruns, but it never
hurts to be safe.

Inspired by and obtained from: OpenBSD
1998-06-09 04:17:29 +00:00
imp
503886c5c8 o Use snprintf over sprintf.
o Use strncpy correctly.
o Use enough buffer for line.

Inspired by or Obtained from: Similar changes in OpenBSD
1998-06-09 04:13:03 +00:00
imp
50a299ff0a Make sure we pass the length - 1 to readlink, since it adds its own
NUL at the end of the path.

Inspired by: OpenBSD's changes in this area by theo de raadt
1998-06-09 04:10:08 +00:00
imp
4cf95b6cfa $@ is deprecated, use ${.TARGET} instead. Ditto for other single character
$n.
PR:		 conf/3273
1998-06-09 04:07:23 +00:00
imp
599b4d46a1 Make sure we don't overflow the path buffer. Exit if we do.
Obtained from or inspired by: A similar change in OpenBSD by theo
1998-06-09 03:39:38 +00:00
imp
807b93df66 Make sure we pass the length - 1 to readlink, since it adds its own
NUL at the end of the path.
Inspired by: OpenBSD's changes in this area by theo de raadt
1998-06-09 03:38:43 +00:00
bde
dfd0b015f8 Updated generated files. 1998-06-09 03:36:59 +00:00
bde
5d51028ec5 Don't generate COMPAT_43 cruft if there are no COMPAT_43 syscalls.
In particular, don't generate an include of "opt_compat.h" if it
wouldn't affect anything we create.  This will fix recent breakage
of the ibcs2 LKM.  The ibcs2 syscall files were not regenerated
properly, so the LKM didn't break immediately when we started
generating this extraneous include.
1998-06-09 03:32:05 +00:00
bde
c342c9a95f Include "opt_compat.h" explicitly instead of depending on
makesyscalls.sh generating it as pollution.

Don't attempt to separate the includes by newlines.  makesyscalls.sh
just ignores newlines.
1998-06-09 03:28:14 +00:00
bde
4b1cf5cb49 Fixed `make depend', which I broke here about a month ago by moving
the null default for `depend' from bsd.dep.mk to bsd.obj.mk.
bsd.kmod.mk included these files in a bad order, so it picked up
the null default.
1998-06-09 02:55:40 +00:00