Commit Graph

8686 Commits

Author SHA1 Message Date
rwatson
8bc41fcc02 Add 'COMM' column to a few more output modes of procstat(1). The only
one it's missing from is the VM display, where there's really not room,
and the file output display is looking quite cramped.
2007-12-10 20:55:43 +00:00
imp
3f2bc4767d Use a clever definition of __FBSDID to allow building on !FreeBSD systems. 2007-12-09 16:48:51 +00:00
jhb
2e2fe0271f Add several missing comma's in the fancy syscall parsing case before
some arguments that are parsed (e.g., semctl command names).

MFC after:	3 days
2007-12-06 08:49:43 +00:00
rwatson
6d8cbbd3e8 Display per-thread command line in TDNAME field for -k and -t; if
no per-thread name is available or the name is identical to the
process name, display "-" instead.  Very slightly shrink the COMM
entry to make a bit more room, although this doesn't help with
stack traces much.

Suggested by:	thompsa
2007-12-03 21:21:15 +00:00
rwatson
b039548864 Connect procstat(1) to the build. 2007-12-02 23:32:03 +00:00
rwatson
88563131a0 Add procstat(1), a process inspection utility. This provides both some
of the missing functionality from procfs(4) and new functionality for
monitoring and debugging specific processes.  procstat(1) operates in
the following modes:

  -b  Display binary information for the process.
  -c  Display command line arguments for the process.
  -f  Display file descriptor information for the process.
  -k  Display the stacks of kernel threads in the process.
  -s  Display security credential information for the process.
  -t  Display thread information for the process.
  -v  Display virtual memory mappings for the process.

Further revision and modes are expected.

Testing, ideas, etc:	cognet, sam, Skip Ford <skip at menantico dot com>
			Wesley Shields <wxs at atarininja dot org>
2007-12-02 23:31:45 +00:00
philip
1c2ba698b3 Add a cross-reference to newgrp(1).
Every time I need newgrp, I forget its name but I remember it's like
login for groups - newgrp(1) already cross-references login(1).

MFC after:	2 days
2007-11-30 11:02:36 +00:00
jb
769c37d0ba Remove _SOLARIS_C_SOURCE now that it doesn't do anything in FreeBSD
headers. All OpenSolaris compatibility comes via the set of specific
compatibility headers in src/compat/opensolaris and
src/sys/compat/opensolaris.
2007-11-28 22:58:09 +00:00
fjoe
5864a96165 Fix -jX when makefiles are remade. 2007-11-25 20:43:27 +00:00
avatar
5fe104598e Nuking the temporary pointer once it is properly tracked in local storage.
This should fix the double free() bug where there's no tailing newline(\n)
character:

	current# echo -n test | tail
	testAssertion failed: (run->magic == ARENA_RUN_MAGIC), function
	arena_dalloc, file /usr/src/lib/libc/stdlib/malloc.c, line 2448.
	Abort (core dumped)

Reviewed by:	kib
MFC after:	3 days
2007-11-22 01:51:46 +00:00
jb
5582e69034 These are the things that the tinderbox has problems with because it
doesn't use the default CFLAGS which contain -fno-strict-aliasing.

Until the code is cleaned up, just add -fno-strict-aliasing to the
CFLAGS of these for the tinderboxes' sake, allowing the rest of the
tree to have -Werror enabled again.
2007-11-20 02:07:30 +00:00
jb
9b945d63ed Generate code that doesn't fail gcc 4.2's strict aliasing test. 2007-11-20 01:46:12 +00:00
jb
218b125e30 Reduce the WARNS levels in a couple of places so that we can enable
-Werror at higher WARNS levels like we did before gcc4 was imported.
2007-11-18 00:29:36 +00:00
jb
804a2cd238 Use variable types which match the function prototypes. 2007-11-17 23:21:38 +00:00
delphij
12ee5edf2f Resolve conflicts; Update defines.h to reflect latest change. 2007-11-16 22:24:31 +00:00
se
1746409d96 Fix (uncritical) potential buffer overflow: the length of "buf" was not
extended when "jaiL" was added to fmt_flags().
MFC after:	1 week
2007-11-15 07:31:11 +00:00
ru
f026c7be94 - Steal short description from POSIX; it's more technical and was
easier to translate.
- Fix some markup nits.
2007-11-13 11:34:20 +00:00
jhb
ae69575f80 write(1) needs to strip off the leading /dev/ from the tty name for the
current tty as returned from ttyname(3) so it can try to avoid writing to
the current tty if possible.  Previously, it did this by trimming off any
leading directory (effectively performing a basename(3) on the path
returned from ttyname(3)).  However, this chopped off too much of the path
for ttys who have directories in their name such as pts(4).  Instead, just
strip off the leading /dev/ from the path returned by ttyname(3).  This
fixes write(1) when using pts(4).

MFC after:	1 week
Reported by:	rwatson
2007-11-12 20:02:21 +00:00
ru
3cba516a54 Fix a typo. 2007-11-09 16:31:47 +00:00
ru
6ac82cfa9e - Fix documentation to match code. Specifically, -c doesn't have
to be specified together with either -u or -t to have an effect,
  and exit status of 2 is not possible after a Perl->C conversion.

- While here, fix markup.
2007-11-09 16:02:10 +00:00
ru
1a8465da88 Fix numerous bugs when parsing options and arguments. 2007-11-09 15:14:08 +00:00
dds
5ea072fa21 Use static storage-class specifier where appropriate.
Found by: CScout
2007-11-08 11:13:03 +00:00
dds
bb2ff1033f Make function's definition follow its declared visibility.
Found by: CScout
2007-11-08 09:09:02 +00:00
dds
8f74341105 Fix visibility of "inplace".
Found by: CScout
2007-11-08 08:57:51 +00:00
kevlo
cb1577dadc setenv(3) sets errno on failure, use warn() instead
Pointed out by: ru
2007-11-08 01:24:31 +00:00
rafan
0e5790193d - Include runefile.h for _CACHED_RUNES 2007-11-07 14:46:22 +00:00
ru
29dcd05010 Markup nits. 2007-11-07 07:59:38 +00:00
ru
cec1358ab6 Fix markup. 2007-11-07 07:56:57 +00:00
kevlo
80e691eb7f Check return value for setenv() 2007-11-06 10:35:50 +00:00
lulf
c55024b789 - Add ZFS-support to fstat(1). This allows ZFS-filsystems to be including in
the open file-listing. It is added as a separate source file, so it can
  respect WITH_/WITHOUT_CDDL as compile-flags.
- The warnlevel of the Makefile was decreased to quell solaris #pragma
  warnings.
- Expect that fstat(1) doesn't work with kernel compiled with
  DEBUG_VFS_LOCKS/DEBUG_LOCKS for now.

Approved by:	pjd (mentor)
2007-11-05 23:15:03 +00:00
charnier
f991a17523 initialize variables, WARNS=6 compliant 2007-11-02 18:06:51 +00:00
ru
ecd0890251 Markup revision. 2007-11-02 12:07:07 +00:00
brix
f99a913488 Add my birthday to the calendar.
Approved by:	erwin (mentor)
2007-11-01 21:56:09 +00:00
ru
c98af9169a Also fix a "blank line" issue that sneaked in from rev. 1.19.
Submitted by:	John Hein
2007-10-31 19:26:01 +00:00
yar
402e21e0f9 Give more details on the following topics:
o How global, command-line, and environment variables relate.
o What peculiarities the -f option has WRT ${MAKEFLAGS}.
2007-10-31 08:20:09 +00:00
ru
21b82a0c29 Remove newly acquired hard sentence breaks. 2007-10-30 19:23:42 +00:00
ru
cfcb49a9b0 Apply style(9) to usage(), fix markup of the manpage. 2007-10-30 17:49:00 +00:00
kevlo
9a9592dceb Never use getenv("HOME") without checking for NULL and non-zero
Obtained from: OpenBSD
2007-10-30 03:44:10 +00:00
julian
11e1aa0d18 Introduce a way to make pure kernal threads.
kthread_add() takes the same parameters as the old kthread_create()
plus a pointer to a process structure, and adds a kernel thread
to that process.

kproc_kthread_add() takes the parameters for kthread_add,
plus a process name and a pointer to a pointer to a process instead of just
a pointer, and if the proc * is NULL, it creates the process to the
specifications required, before adding the thread to it.

All other old kthread_xxx() calls return, but act on (struct thread *)
instead of (struct proc *). One reason to change the name is so that
any old kernel modules that are lying around and expect kthread_create()
to make a process will not just accidentally link.

fix top to show  kernel threads by their thread name in -SH mode
add a tdnam formatting option to ps to show thread names.

make all idle threads actual kthreads and put them into their own idled process.
make all interrupt threads kthreads and put them in an interd process
(mainly for aesthetic and accounting reasons)
rename proc 0 to be 'kernel' and it's swapper thread is now 'swapper'

man page fixes to follow.
2007-10-26 08:00:41 +00:00
lulf
672f4a5d6c - Add my birthday to the calendar.
Approved by:	kib (mentor)
2007-10-25 19:35:09 +00:00
obrien
06cf08f7c6 The AWK 23-Oct-2007 release includes fixes for FreeBSD PR's bin/104795
and bin/100443.
2007-10-25 12:43:22 +00:00
ru
db64b4a4bc - Convert NO_INSTALLLIB option to a new syntax: makefiles should
test MK_INSTALLLIB, users can set WITHOUT_INSTALLLIB.  The old
  NO_INSTALLLIB is still supported as several makefiles set it.

- While here, fix an install when instructed not to install libs
  (usr.bin/lex/lib/Makefile).

PR:		bin/114200
Submitted by:	Henrik Brix Andersen
2007-10-20 19:01:50 +00:00
jhb
1f6b3a5f2c Add a -z flag to nfsstat which zeros the NFS statistics after displaying
them.

MFC after:	1 week
Requested by:	ps
Submitted by:	ps (6 years ago)
2007-10-18 16:38:07 +00:00
edwin
1af6ff1600 Teach makewhatis.c to treat .SS with the same severity as .SH.
At least one port (net-mgmt/net-snmp) creates man-pages which are
in the format:

	.SH NAME
	The Net-SNMP agent \- The snmp agent responds to SNMP queries from management stations.

	.PP
	.SS "Modules"

At this moment, makewhatis determines the end of the .SH NAME section
as where it finds .SH again, but there is none here, is it "terminated"
by the .SS.

PR:		bin/116706
Submitted by:	edwin@
Approved by:	re (Ken Smith), grog (mentor)
MFC after:	1 week
2007-10-18 12:53:11 +00:00
davidxu
3d81878b1f The upper while loop has already recycled child process, so the if
statement has never executed as expected, fix it.

MFC after: 3 days
2007-10-18 11:05:30 +00:00
jmallett
4f4dc1955c Prevent strange crashes in fmt with absurd goal lengths introduced by the
support for wide characters.

If the sizeof (wchar_t) times max_length would yield a value beyond
representation in a size_t, exit with a usage error up front, rather than
strange errors down the line from trying to malloc (well, realloc) with a size
of 0.

This is perhaps not the optimal behaviour - a clamp may be more appropriate as
we clamp the value of max_length now anyway, but this is at least better than
segfaulting or worse.  On systems which are friendly to malloc with a value of 0
the results could end up being strange corruption of the output.
2007-10-17 11:41:40 +00:00
rrs
f386b60906 Fix incorrect string formats for netstat/s
PR:		117175
Obtained from:	Weongyo Jeong (weongyo.jeong@gmail.com)
MFC after:	1 week
2007-10-17 10:16:20 +00:00
kib
6c514f41e9 Fix various memory leaks.
Submitted by:	rdivacky
Obtained from:	OpenBSD
MFC after:	1 week
2007-10-17 09:52:08 +00:00
se
3cc917d96e The previous version included too many file system types in the scan,
since "local" includes also synthetic file systems (e.g. /dev, /proc)
and loopback mounts.

This version uses lsvfs to identify file system types that are local
and additionally not synthetik, loopback mounts, or read-only. This
has been suggested by Craig Rodrigues half a year ago. The patch that
has been committed is based on his suggestion, but slightly modified.

The comments in locate.rc have been updated to reflect the change and
o include zfs and xfs in the example file system parameter that can
be used to override the default outlined above.

PR:		114101
Submitted by:	rodrigc at crodrigues dot org (Craig Rodrigues)
MFC:		2 weeks
2007-10-17 07:27:51 +00:00
se
e42b1cae2d Make the updatedb script installed as /usr/libexec/locate.updatedb
inspect all local file systems, not only ufs and ext2fs. A number
of local file systems has been added over time, and at least zfs
has the potential to become a popular choice. Without this change
a ZFS root file system causes the script to ignore all file-systems
and leads to an empty locate db. (An alternative is to add all the
relevant file systems individually, which means that at least zfs,
xfs, ntfs, ntfs-3g, msdosfs should be added, probably more).
2007-10-15 22:09:19 +00:00