Commit Graph

105056 Commits

Author SHA1 Message Date
tjr
a71683eadb Remove an entry from the BUGS section: we have multibyte character
support now.
2004-07-12 11:03:42 +00:00
sos
4997cbe712 Attempt to handle suspend/resume better. 2004-07-12 10:50:50 +00:00
tjr
3805bd4f25 Remove BUGS section that talked about missing multibyte character support.
We have support now that the regular expression routines do.
2004-07-12 10:46:55 +00:00
tjr
1d2afa8a6d Remove BUGS section that talked about missing multibyte character support.
We have support now that the regular expression routines do.
2004-07-12 10:17:02 +00:00
murray
6ac06af24b Add p5-File-Spec and p5-File-Temp.
Submitted by:	Dmitry Morozovsky <marck@rinet.ru>
PR:		ports/68153
MFC After:	3 days
2004-07-12 10:12:51 +00:00
alfred
2690c990dd Document thread parameter passed to VFS_ROOT and vflush. 2004-07-12 09:06:51 +00:00
alfred
7c3687d146 Bump __FreeBSD_version for VFS_ROOT, vflush and kinfo_proc changes. 2004-07-12 08:23:10 +00:00
des
8572ddd501 Adjust the show_self code (the test got inadvertantly reversed a couple of
revisions ago)

Submitted by:	Alex Vasylenko <lxv@omut.org>
2004-07-12 08:22:32 +00:00
alfred
8a1713aada Make VFS_ROOT() and vflush() take a thread argument.
This is to allow filesystems to decide based on the passed thread
which vnode to return.
Several filesystems used curthread, they now use the passed thread.
2004-07-12 08:14:09 +00:00
kris
b436785ed4 Set BATCH=yes to avoid bumping into interactivity in the port builds.
XXX /usr/ports is still hardcoded, should be ${PORTSDIR}
2004-07-12 07:59:25 +00:00
davidxu
404e9eb472 kse_switchin ABI was changed in kernel. 2004-07-12 07:41:01 +00:00
davidxu
351df4e348 Change kse_switchin to accept kse_thr_mailbox pointer, the syscall
will be used heavily in debugging KSE threads. This breaks libpthread
on IA64, but because libpthread was not in 5.2.1 release, I would like
to change it so we needn't to introduce another syscall.
2004-07-12 07:39:20 +00:00
tjr
ba689b4043 Make regular expression matching aware of multibyte characters. The general
idea is that we perform multibyte->wide character conversion while parsing
and compiling, then convert byte sequences to wide characters when they're
needed for comparison and stepping through the string during execution.

As with tr(1), the main complication is to efficiently represent sets of
characters in bracket expressions. The old bitmap representation is replaced
by a bitmap for the first 256 characters combined with a vector of individual
wide characters, a vector of character ranges (for [A-Z] etc.), and a vector
of character classes (for [[:alpha:]] etc.).

One other point of interest is that although the Boyer-Moore algorithm had
to be disabled in the general multibyte case, it is still enabled for UTF-8
because of its self-synchronizing nature. This greatly speeds up matching
by reducing the number of multibyte conversions that need to be done.
2004-07-12 07:35:59 +00:00
alfred
031e087d2c Use SO_REUSEADDR and SO_REUSEPORT when reconnecting NFS mounts.
Tune the timeout from 5 seconds to 12 seconds.
Provide a sysctl to show how many reconnects the NFS client has done.

Seems to fix IPv6 from: kuriyama
2004-07-12 06:22:42 +00:00
tjr
df5304b63c Add a new error code, REG_ILLSEQ, to indicate that a regular expression
contains an illegal multibyte character sequence.
2004-07-12 06:07:26 +00:00
marcel
57e7de678f Implement the PT_LWPINFO request. This request can be used by the
tracing process to obtain information about the LWP that caused the
traced process to stop. Debuggers can use this information to select
the thread currently running on the LWP as the current thread.

The request has been made compatible with NetBSD for as much as
possible. This implementation differs from NetBSD in the following
ways:
1.  The data argument is allowed to be smaller than the size of the
    ptrace_lwpinfo structure known to the kernel, but not 0. This
    is opposite to what NetBSD allows. The reason for this is that
    we can extend the structure without affecting older binaries.
2.  On NetBSD the tracing process is to set the pl_lwpid field to
    the Id of the LWP it wants information of. We don't do that.
    Our ptrace interface allows passing the LWP Id instead of the
    PID. The tracing process is to set the PID to the LWP Id it
    wants information of.
3.  When the PID is actually the PID of the tracing process, this
    request returns the information about the LWP that caused the
    process to stop. This was the whole purpose of the request in
    the first place.

When the traced process has exited, this request will return the
LWP Id 0, indicating that the process state is not the result of
an event specific to a LWP.
2004-07-12 05:07:50 +00:00
alfred
221d6a099a Cache a pointer to the old proc (as well as negative cache) to make
computing the io statistics over and over not as expensive.
This is a bit of a cop out, as I should just allocate a struct with
the computed values, but this will do for now.
2004-07-12 04:55:07 +00:00
alfred
7c44f05ec4 Reserve a pointer "ki_udata" in kinfo_proc as a convenience for userland. 2004-07-12 04:53:33 +00:00
rwatson
b8ecdf1b3c Introduce a global mtx 'ngsocketlist_mtx' to protect the global
ng_socket list during insert/delete.
2004-07-12 04:45:46 +00:00
marcel
b71b19f0a2 Document the new PT_LWPINFO request. In fact, the request is so new
it hasn't even been implemented yet. I just wanted to be the first
to try a new approach to development ;-)
2004-07-12 04:43:58 +00:00
alc
582e79f50a pmap_remove_pages() must not remove wired mappings. Since
pmap_remove_pages() is an optimization, its implementation is optional.

Discussed with:	grehan
2004-07-12 04:40:26 +00:00
rwatson
5fb9f28d80 Mark 'makeup' in ng_frame_relay as const, as its values are immutable. 2004-07-12 04:35:42 +00:00
rwatson
8d63702565 Remove spl's from netatalk in preparation to merge locking. 2004-07-12 04:33:58 +00:00
tjr
52eae5c050 Call setlocale() with category LC_ALL instead of LC_MESSAGES. We need
LC_CTYPE and LC_COLLATE to correctly interpret regular expressions
returned by nl_langinfo(YESEXPR), and it doesn't hurt to include the
rest.
2004-07-12 04:18:44 +00:00
alfred
45c9fe9da7 Dump the actual bad values when this assertion is tripped. 2004-07-12 04:13:38 +00:00
murray
de2b49b3bc Chase the docproj ports required to build a release with NOPORTS but
without NODOCS.

PR:		ports/68153
Submitted by:	Dmitry Morozovsky <marck@rinet.ru>
2004-07-12 04:09:39 +00:00
alfred
943cc11b6d Make 'S' in interactive mode toggle display of system processes. 2004-07-12 03:00:50 +00:00
tjr
5b15fb7d42 Respect locale settings from the environment. 2004-07-12 02:48:40 +00:00
kientzle
8facf26e5e Update the README notes to include the current list of supported
formats and remove some outdated comments about library limitations.
2004-07-12 01:54:37 +00:00
marcel
c952cbd124 Re-add the gdb command. It was removed to be replaced by something
more generic, but that didn't actually happen. Since the feature to
switch backends (and historically this means from DDB to GDB) is
important, make sure people can do just that until such the generic
mechanism actually sees the light of day.

Suggested by: rwatson@
2004-07-12 01:38:07 +00:00
marcel
bfbf13730c Make kdb_dbbe_select() available as an interface function. This allows
changing the backend from outside the KDB frontend. For example from
within a backend. Rewrite kdb_sysctl_current to make use of this
function as well.
2004-07-12 01:15:55 +00:00
keramida
e8a16db246 Fix a typo that slipped in during my last commit to this file.
Submitted by:   fox@vader.aacc.cc.md.us
2004-07-12 00:45:25 +00:00
rwatson
566f5dc2ee Use sockbuf_pushsync() to synchronize stack and socket buffer state
in soreceive() after removing an MT_SONAME mbuf from the head of the
socket buffer.

When processing MT_CONTROL mbufs in soreceive(), first remove all of
the MT_CONTROL mbufs from the head of the socket buffer to a local
mbuf chain, then feed them into dom_externalize() as a set, which
both avoids thrashing the socket buffer lock when handling multiple
control mbufs, and also avoids races with other threads acting on
the socket buffer when the socket buffer mutex is released to enter
the externalize code.  Existing races that might occur if the protocol
externalize method blocked during processing have also been closed.

Now that we synchronize socket buffer and stack state following
modifications to the socket buffer, turn the manual synchronization
that previously followed control mbuf processing with a set of
assertions.  This can eventually be removed.

The soreceive() code is now substantially more MPSAFE.
2004-07-11 23:13:14 +00:00
phk
7017e4d3c1 Remove the last bits of SPECHASH. 2004-07-11 23:03:37 +00:00
rwatson
00ad513356 Add sockbuf_pushsync(), an inline function that, following a change to
the head of the mbuf chains in a socket buffer, re-synchronizes the
cache pointers used to optimize socket buffer appends.  This will be
used by soreceive() before dropping socket buffer mutexes to make sure
a consistent version of the socket buffer is visible to other threads.

While here, update copyright to account for substantial rewrite of much
socket code required for fine-grained locking.
2004-07-11 22:59:32 +00:00
phk
14f8256a24 Better descriptions of the cdev malloc class and mutex. 2004-07-11 19:26:43 +00:00
cperciva
4ac0cfc416 Whitespace cleanup. This will simplify a future merge from
IANA's official list of port assignments.
2004-07-11 19:20:47 +00:00
rwatson
b6a6909325 Add additional annotations to soreceive(), documenting the effects of
locking on 'nextrecord' and concerns regarding potentially inconsistent
or stale use of socket buffer or stack fields if they aren't carefully
synchronized whenever the socket buffer mutex is released.  Document
that the high-level sblock() prevents races against other readers on
the socket.

Also document the 'type' logic as to how soreceive() guarantees that
it will only return one of normal data or inline out-of-band data.
2004-07-11 18:29:47 +00:00
marcel
62f362bd8f MFi386: rev 1.213 -- fix DELAY while the debugger is active.
This also fixes the (runtime) breakage introduced in the previous
commit that was the result of a botched merge. This hasn't even
been compile-tested...
2004-07-11 18:07:55 +00:00
marcel
841342b02b Partially revert previous commit. Calling getit() unconditionally fixed
a problem that could also be fixed differently without reverting previous
attempts to fix DELAY while the debugger is active (rev 1.204). The bug
was that the i8254 implements a countdown timer, while for (k)db_active
a countup timer was implemented. This resulted in premature termination
and consequently the breakage of DELAY. The fix (relative to rev 1.211)
is to implement a countdown timer for the kdb_active case. As such the
ability to step clock initialization is preserved and DELAY does what is
expected of it.

Blushed: bde :-)
Submitted by: bde
2004-07-11 17:50:59 +00:00
stefanf
e0b2a5b339 Fix a few cases that relied on 'implicit int' (constraint violation in C99). 2004-07-11 17:37:33 +00:00
stefanf
77a4e4e421 Resolve a couple of warnings and bump WARNS to 6. 2004-07-11 17:26:18 +00:00
dfr
2ada7916d4 Expand and rewrite documentation using doxygen markup so that we can
generate funky web pages from it.
2004-07-11 16:17:42 +00:00
dfr
aea0fb6e05 Pass doxygen doc comments through to the output. 2004-07-11 16:14:24 +00:00
dfr
4502cba2fd Experimental support for using doxygen to generate kernel documentation. 2004-07-11 16:13:57 +00:00
darrenr
6c66c4291a Document that sx_unlock() exists as a macro.
Remove redundant include file, <sys/kernel.h>, and clean up the function
list at the top with the addition of a "Sx utility macro" section.
2004-07-11 16:08:25 +00:00
darrenr
210d568a00 Add sx_unlock() macro as a frontend to both sx_sunlock() and sx_xunlock(),
using sx_cnt to determine what state the lock is in and call the respective
function appropriately.
2004-07-11 16:07:07 +00:00
imp
a6214e1123 Until I'm ready to commit the better pccard probe/attach routines, effectively
comment them out.
2004-07-11 16:01:25 +00:00
marcel
9365674e5c Fix braino: Make sure there is a current backend before we return its
name in the debug.kdb.current sysctl. All other dereferences are
properly guarded, but this one was overlooked.

Reported by: Morten Rodal (morten at rodal dot no)
2004-07-11 15:22:43 +00:00
phk
3683e698d2 Introduce ttygone() which indicates that the hardware is detached.
Move dtrwait logic to the generic TTY level.
2004-07-11 15:18:39 +00:00