Date: Sun, 24 Oct 2004 06:38:59 GMT From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 63627 for review Message-ID: <200410240638.i9O6cxjY070010@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=63627 Change 63627 by peter@peter_overcee on 2004/10/24 06:38:27 IFC @63625 Affected files ... .. //depot/projects/hammer/UPDATING#64 integrate .. //depot/projects/hammer/etc/rc.d/devfs#10 integrate .. //depot/projects/hammer/etc/rc.d/natd#3 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#29 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_create.c#17 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_exit.c#10 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_find_thread.c#6 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_kern.c#34 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_private.h#29 integrate .. //depot/projects/hammer/lib/libpthread/thread/thr_sig.c#23 integrate .. //depot/projects/hammer/release/scripts/print-cdrom-packages.sh#25 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw.8#31 integrate .. //depot/projects/hammer/share/man/man4/aac.4#8 integrate .. //depot/projects/hammer/share/man/man4/divert.4#6 integrate .. //depot/projects/hammer/share/man/man4/inet.4#12 integrate .. //depot/projects/hammer/share/man/man4/ng_device.4#3 integrate .. //depot/projects/hammer/share/man/man4/tcp.4#13 integrate .. //depot/projects/hammer/share/man/man5/rc.conf.5#39 integrate .. //depot/projects/hammer/share/man/man7/firewall.7#8 integrate .. //depot/projects/hammer/share/man/man9/bus_dma.9#12 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/biospci.c#3 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/libi386.h#7 integrate .. //depot/projects/hammer/sys/boot/i386/loader/main.c#7 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_proto.h#22 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscall.h#20 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_syscalls.c#20 integrate .. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_sysent.c#20 integrate .. //depot/projects/hammer/sys/compat/freebsd32/syscalls.master#24 integrate .. //depot/projects/hammer/sys/conf/files#88 integrate .. //depot/projects/hammer/sys/contrib/dev/hptmv/access601.h#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/array.h#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/atapi.h#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/command.h#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/gui_lib.c#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/hptproc.c#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/i386-elf.raid.o.uu#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/ioctl.c#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/mvSata.h#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/mvStorageDev.h#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/raid5n.h#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/readme.txt#1 branch .. //depot/projects/hammer/sys/contrib/dev/hptmv/vdevice.h#1 branch .. //depot/projects/hammer/sys/dev/bfe/if_bfe.c#12 integrate .. //depot/projects/hammer/sys/dev/bfe/if_bfereg.h#5 integrate .. //depot/projects/hammer/sys/dev/dcons/dcons.h#4 integrate .. //depot/projects/hammer/sys/dev/fdc/fdc.c#21 integrate .. //depot/projects/hammer/sys/dev/firewire/fwcrom.c#10 integrate .. //depot/projects/hammer/sys/dev/firewire/iec13213.h#8 integrate .. //depot/projects/hammer/sys/dev/hptmv/entry.c#1 branch .. //depot/projects/hammer/sys/dev/hptmv/global.h#1 branch .. //depot/projects/hammer/sys/dev/hptmv/hptintf.h#1 branch .. //depot/projects/hammer/sys/dev/hptmv/mv.c#1 branch .. //depot/projects/hammer/sys/dev/hptmv/mvOs.h#1 branch .. //depot/projects/hammer/sys/dev/hptmv/osbsd.h#1 branch .. //depot/projects/hammer/sys/dev/md/md.c#42 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_vnops.c#15 integrate .. //depot/projects/hammer/sys/fs/specfs/spec_vnops.c#27 delete .. //depot/projects/hammer/sys/geom/geom.h#29 integrate .. //depot/projects/hammer/sys/geom/geom_ctl.c#17 integrate .. //depot/projects/hammer/sys/geom/geom_dev.c#27 integrate .. //depot/projects/hammer/sys/geom/geom_event.c#20 integrate .. //depot/projects/hammer/sys/geom/geom_subr.c#31 integrate .. //depot/projects/hammer/sys/gnu/ext2fs/ext2_bmap.c#5 integrate .. //depot/projects/hammer/sys/i386/acpica/acpi_machdep.c#21 integrate .. //depot/projects/hammer/sys/i386/i386/busdma_machdep.c#18 integrate .. //depot/projects/hammer/sys/ia64/ia64/sscdisk.c#9 integrate .. //depot/projects/hammer/sys/kern/init_sysent.c#35 integrate .. //depot/projects/hammer/sys/kern/kern_exit.c#38 integrate .. //depot/projects/hammer/sys/kern/kern_xxx.c#11 integrate .. //depot/projects/hammer/sys/kern/subr_trap.c#28 integrate .. //depot/projects/hammer/sys/kern/syscalls.c#34 integrate .. //depot/projects/hammer/sys/kern/syscalls.master#34 integrate .. //depot/projects/hammer/sys/kern/sysv_ipc.c#5 integrate .. //depot/projects/hammer/sys/kern/uipc_domain.c#8 integrate .. //depot/projects/hammer/sys/kern/uipc_socket.c#41 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#42 integrate .. //depot/projects/hammer/sys/kern/vfs_cluster.c#19 integrate .. //depot/projects/hammer/sys/kern/vfs_mount.c#37 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#58 integrate .. //depot/projects/hammer/sys/modules/hptmv/Makefile#1 branch .. //depot/projects/hammer/sys/modules/netgraph/Makefile#12 integrate .. //depot/projects/hammer/sys/netinet/ip_divert.c#24 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#44 integrate .. //depot/projects/hammer/sys/netinet/tcp_var.h#18 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_vnops.c#10 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_bio.c#22 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_subs.c#18 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vfsops.c#28 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#25 integrate .. //depot/projects/hammer/sys/nfsserver/nfs_serv.c#17 integrate .. //depot/projects/hammer/sys/pc98/pc98/fd.c#24 integrate .. //depot/projects/hammer/sys/pc98/pc98/wd.c#14 integrate .. //depot/projects/hammer/sys/security/mac/mac_internal.h#9 integrate .. //depot/projects/hammer/sys/security/mac/mac_label.c#3 integrate .. //depot/projects/hammer/sys/security/mac_biba/mac_biba.c#28 integrate .. //depot/projects/hammer/sys/security/mac_bsdextended/mac_bsdextended.c#14 integrate .. //depot/projects/hammer/sys/security/mac_test/mac_test.c#26 integrate .. //depot/projects/hammer/sys/sys/buf.h#16 integrate .. //depot/projects/hammer/sys/sys/ktr.h#7 integrate .. //depot/projects/hammer/sys/sys/mac_policy.h#21 integrate .. //depot/projects/hammer/sys/sys/proc.h#70 integrate .. //depot/projects/hammer/sys/sys/syscall.h#34 integrate .. //depot/projects/hammer/sys/sys/syscall.mk#34 integrate .. //depot/projects/hammer/sys/sys/sysproto.h#34 integrate .. //depot/projects/hammer/sys/sys/systm.h#25 integrate .. //depot/projects/hammer/sys/sys/vnode.h#32 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_softdep.c#17 integrate .. //depot/projects/hammer/sys/ufs/ufs/ufs_bmap.c#6 integrate .. //depot/projects/hammer/sys/vm/swap_pager.c#31 integrate .. //depot/projects/hammer/sys/vm/vm_page.c#36 integrate .. //depot/projects/hammer/sys/vm/vm_page.h#19 integrate .. //depot/projects/hammer/tools/regression/netinet/tcpconnect/tcpconnect.c#3 integrate .. //depot/projects/hammer/tools/regression/netinet/tcpstream/tcpstream.c#2 integrate .. //depot/projects/hammer/tools/regression/sockets/accept_fd_leak/accept_fd_leak.c#4 integrate .. //depot/projects/hammer/tools/regression/sockets/accf_data_attach/accf_data_attach.c#2 integrate .. //depot/projects/hammer/tools/regression/usr.bin/make/Makefile#9 integrate .. //depot/projects/hammer/tools/tools/nanobsd/make.conf#5 integrate .. //depot/projects/hammer/tools/tools/recoverdisk/recoverdisk.c#3 integrate .. //depot/projects/hammer/usr.bin/du/du.1#5 integrate .. //depot/projects/hammer/usr.bin/make/compat.c#8 integrate .. //depot/projects/hammer/usr.bin/make/job.c#10 integrate .. //depot/projects/hammer/usr.bin/make/job.h#7 integrate .. //depot/projects/hammer/usr.bin/make/main.c#15 integrate .. //depot/projects/hammer/usr.bin/mktemp/mktemp.1#3 integrate .. //depot/projects/hammer/usr.sbin/fwcontrol/fwcontrol.8#9 integrate .. //depot/projects/hammer/usr.sbin/fwcontrol/fwcontrol.c#10 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/config.c#7 integrate .. //depot/projects/hammer/usr.sbin/rtadvd/timer.c#3 integrate Differences ... ==== //depot/projects/hammer/UPDATING#64 (text+ko) ==== @@ -23,6 +23,11 @@ developers choose to disable these features on build machines to maximize performance. +20041022: + The size of struct tcpcb has changed. You have to recompile + userland programs that read kmem for tcp sockets directly + (netstat, sockstat, etc.) + 20041018: A major sweep over the tty drivers to elimnate approx 3100 lines of copy&pasted code have been performed. As a part of @@ -1951,4 +1956,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.375 2004/10/18 21:24:21 phk Exp $ +$FreeBSD: src/UPDATING,v 1.376 2004/10/22 19:55:04 andre Exp $ ==== //depot/projects/hammer/etc/rc.d/devfs#10 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/devfs,v 1.9 2004/10/07 13:55:25 mtm Exp $ +# $FreeBSD: src/etc/rc.d/devfs,v 1.10 2004/10/23 06:50:50 mtm Exp $ # # PROVIDE: devfs -# REQUIRE: LOGIN -# BEFORE: securelevel +# REQUIRE: rcconf mountcritremote +# BEFORE: SERVERS securelevel # KEYWORD: nojail . /etc/rc.subr ==== //depot/projects/hammer/etc/rc.d/natd#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/natd,v 1.2 2004/10/07 13:55:26 mtm Exp $ +# $FreeBSD: src/etc/rc.d/natd,v 1.3 2004/10/22 19:36:03 andre Exp $ # # PROVIDE: natd @@ -12,8 +12,21 @@ name="natd" rcvar=`set_rcvar` command="/sbin/${name}" +start_precmd="natd_precmd" start_cmd="natd_start" +natd_precmd() +{ + if ! ${SYSCTL} net.inet.divert > /dev/null 2>&1; then + if ! kldload ipdivert; then + warn unable to load IPDIVERT module. + return 1 + fi + fi + + return 0 +} + natd_start() { dhcp_list="`list_net_interfaces dhcp`" ==== //depot/projects/hammer/games/fortune/datfiles/fortunes#29 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.143 2004/08/23 11:00:20 blackend Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.145 2004/10/22 19:59:37 phk Exp $ % -- Gifts for Children -- @@ -629,6 +629,10 @@ So the Cleaning Personnel Don't Steal It", etc. -- Dave Barry, "In Search of Excellence" % +Wall Street indices predicted nine out of the last five recessions + -- Paul A. Samuelson, Nobel laureate in economics. + (Newsweek, Science and Stocks, 19 Sep. 1966.) +% Festivity Level 1: Your guests are chatting amiably with each other, admiring your Christmas-tree ornaments, singing carols around the upright piano, sipping at their drinks and nibbling hors ==== //depot/projects/hammer/lib/libpthread/thread/thr_create.c#17 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/thread/thr_create.c,v 1.57 2004/08/12 12:12:12 deischen Exp $ + * $FreeBSD: src/lib/libpthread/thread/thr_create.c,v 1.58 2004/10/23 23:28:36 davidxu Exp $ */ #include <errno.h> #include <stdlib.h> @@ -234,6 +234,7 @@ new_thread->specific_data_count = 0; new_thread->cleanup = NULL; new_thread->flags = 0; + new_thread->tlflags = 0; new_thread->continuation = NULL; new_thread->wakeup_time.tv_sec = -1; new_thread->lock_switch = 0; ==== //depot/projects/hammer/lib/libpthread/thread/thr_exit.c#10 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/thread/thr_exit.c,v 1.38 2004/08/12 12:12:12 deischen Exp $ + * $FreeBSD: src/lib/libpthread/thread/thr_exit.c,v 1.39 2004/10/23 23:37:54 davidxu Exp $ */ #include <errno.h> #include <unistd.h> @@ -105,7 +105,20 @@ THR_SCHED_LOCK(curthread, curthread); curthread->flags |= THR_FLAGS_EXITING; THR_SCHED_UNLOCK(curthread, curthread); - + + /* + * To avoid signal-lost problem, if signals had already been + * delivered to us, handle it. we have already set EXITING flag + * so no new signals should be delivered to us. + * XXX this is not enough if signal was delivered just before + * thread called sigprocmask and masked it! in this case, we + * might have to re-post the signal by kill() if the signal + * is targeting process (not for a specified thread). + * Kernel has same signal-lost problem, a signal may be delivered + * to a thread which is on the way to call sigprocmask or thr_exit()! + */ + if (curthread->check_pending) + _thr_sig_check_pending(curthread); /* Save the return value: */ curthread->ret = status; while (curthread->cleanup != NULL) { ==== //depot/projects/hammer/lib/libpthread/thread/thr_find_thread.c#6 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/thread/thr_find_thread.c,v 1.13 2003/07/17 23:02:30 davidxu Exp $ + * $FreeBSD: src/lib/libpthread/thread/thr_find_thread.c,v 1.14 2004/10/23 23:28:36 davidxu Exp $ */ #include <errno.h> #include <pthread.h> @@ -90,7 +90,7 @@ if (curthread != NULL) curthread->critical_count--; if ((thread->refcount == 0) && - (thread->flags & THR_FLAGS_GC_SAFE) != 0) + (thread->tlflags & TLFLAGS_GC_SAFE) != 0) THR_GCLIST_ADD(thread); KSE_LOCK_RELEASE(curkse, &_thread_list_lock); _kse_critical_leave(crit); ==== //depot/projects/hammer/lib/libpthread/thread/thr_kern.c#34 (text+ko) ==== @@ -33,7 +33,7 @@ * */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libpthread/thread/thr_kern.c,v 1.114 2004/10/08 22:57:30 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libpthread/thread/thr_kern.c,v 1.115 2004/10/23 23:28:36 davidxu Exp $"); #include <sys/types.h> #include <sys/kse.h> @@ -139,6 +139,9 @@ static struct thread_hash_head thr_hashtable[THREAD_HASH_QUEUES]; #define THREAD_HASH(thrd) ((unsigned long)thrd % THREAD_HASH_QUEUES) +/* Lock for thread tcb constructor/destructor */ +static pthread_mutex_t _tcb_mutex; + #ifdef DEBUG_THREAD_KERN static void dump_queues(struct kse *curkse); #endif @@ -166,7 +169,7 @@ struct pthread_sigframe *psf); static int thr_timedout(struct pthread *thread, struct timespec *curtime); static void thr_unlink(struct pthread *thread); -static void thr_destroy(struct pthread *thread); +static void thr_destroy(struct pthread *curthread, struct pthread *thread); static void thread_gc(struct pthread *thread); static void kse_gc(struct pthread *thread); static void kseg_gc(struct pthread *thread); @@ -240,7 +243,7 @@ _thr_stack_free(&thread->attr); if (thread->specific != NULL) free(thread->specific); - thr_destroy(thread); + thr_destroy(curthread, thread); } } @@ -285,14 +288,14 @@ /* Free the free threads. */ while ((thread = TAILQ_FIRST(&free_threadq)) != NULL) { TAILQ_REMOVE(&free_threadq, thread, tle); - thr_destroy(thread); + thr_destroy(curthread, thread); } free_thread_count = 0; /* Free the to-be-gc'd threads. */ while ((thread = TAILQ_FIRST(&_thread_gc_list)) != NULL) { TAILQ_REMOVE(&_thread_gc_list, thread, gcle); - thr_destroy(thread); + thr_destroy(curthread, thread); } TAILQ_INIT(&gc_ksegq); _gc_count = 0; @@ -381,6 +384,7 @@ if (_lock_init(&_thread_list_lock, LCK_ADAPTIVE, _kse_lock_wait, _kse_lock_wakeup) != 0) PANIC("Unable to initialize thread list lock"); + _pthread_mutex_init(&_tcb_mutex, NULL); active_kse_count = 0; active_kseg_count = 0; _gc_count = 0; @@ -1207,7 +1211,6 @@ thread->kseg = _kse_initial->k_kseg; thread->kse = _kse_initial; } - thread->flags |= THR_FLAGS_GC_SAFE; /* * We can't hold the thread list lock while holding the @@ -1216,6 +1219,7 @@ KSE_SCHED_UNLOCK(curkse, curkse->k_kseg); DBG_MSG("Adding thread %p to GC list\n", thread); KSE_LOCK_ACQUIRE(curkse, &_thread_list_lock); + thread->tlflags |= TLFLAGS_GC_SAFE; THR_GCLIST_ADD(thread); KSE_LOCK_RELEASE(curkse, &_thread_list_lock); if (sys_scope) { @@ -1255,7 +1259,7 @@ /* Check the threads waiting for GC. */ for (td = TAILQ_FIRST(&_thread_gc_list); td != NULL; td = td_next) { td_next = TAILQ_NEXT(td, gcle); - if ((td->flags & THR_FLAGS_GC_SAFE) == 0) + if ((td->tlflags & TLFLAGS_GC_SAFE) == 0) continue; else if (((td->attr.flags & PTHREAD_SCOPE_SYSTEM) != 0) && ((td->kse->k_kcb->kcb_kmbx.km_flags & KMF_DONE) == 0)) { @@ -2384,7 +2388,14 @@ if ((thread == NULL) && ((thread = malloc(sizeof(struct pthread))) != NULL)) { bzero(thread, sizeof(struct pthread)); - if ((thread->tcb = _tcb_ctor(thread, curthread == NULL)) == NULL) { + if (curthread) { + _pthread_mutex_lock(&_tcb_mutex); + thread->tcb = _tcb_ctor(thread, 0 /* not initial tls */); + _pthread_mutex_unlock(&_tcb_mutex); + } else { + thread->tcb = _tcb_ctor(thread, 1 /* initial tls */); + } + if (thread->tcb == NULL) { free(thread); thread = NULL; } else { @@ -2420,7 +2431,7 @@ thread->name = NULL; } if ((curthread == NULL) || (free_thread_count >= MAX_CACHED_THREADS)) { - thr_destroy(thread); + thr_destroy(curthread, thread); } else { /* Add the thread to the free thread list. */ crit = _kse_critical_enter(); @@ -2433,14 +2444,20 @@ } static void -thr_destroy(struct pthread *thread) +thr_destroy(struct pthread *curthread, struct pthread *thread) { int i; for (i = 0; i < MAX_THR_LOCKLEVEL; i++) _lockuser_destroy(&thread->lockusers[i]); _lock_destroy(&thread->lock); - _tcb_dtor(thread->tcb); + if (curthread) { + _pthread_mutex_lock(&_tcb_mutex); + _tcb_dtor(thread->tcb); + _pthread_mutex_unlock(&_tcb_mutex); + } else { + _tcb_dtor(thread->tcb); + } free(thread->siginfo); free(thread); } ==== //depot/projects/hammer/lib/libpthread/thread/thr_private.h#29 (text+ko) ==== @@ -31,7 +31,7 @@ * * Private thread definitions for the uthread kernel. * - * $FreeBSD: src/lib/libpthread/thread/thr_private.h,v 1.118 2004/08/07 15:15:38 deischen Exp $ + * $FreeBSD: src/lib/libpthread/thread/thr_private.h,v 1.119 2004/10/23 23:28:36 davidxu Exp $ */ #ifndef _THR_PRIVATE_H @@ -753,9 +753,13 @@ #define THR_FLAGS_IN_RUNQ 0x0004 /* in run queue using pqe link */ #define THR_FLAGS_EXITING 0x0008 /* thread is exiting */ #define THR_FLAGS_SUSPENDED 0x0010 /* thread is suspended */ -#define THR_FLAGS_GC_SAFE 0x0020 /* thread safe for cleaning */ -#define THR_FLAGS_IN_TDLIST 0x0040 /* thread in all thread list */ -#define THR_FLAGS_IN_GCLIST 0x0080 /* thread in gc list */ + + /* Thread list flags; only set with thread list lock held. */ +#define TLFLAGS_GC_SAFE 0x0001 /* thread safe for cleaning */ +#define TLFLAGS_IN_TDLIST 0x0002 /* thread in all thread list */ +#define TLFLAGS_IN_GCLIST 0x0004 /* thread in gc list */ + int tlflags; + /* * Base priority is the user setable and retrievable priority * of the thread. It is only affected by explicit calls to @@ -897,30 +901,30 @@ * the gc list. */ #define THR_LIST_ADD(thrd) do { \ - if (((thrd)->flags & THR_FLAGS_IN_TDLIST) == 0) { \ + if (((thrd)->tlflags & TLFLAGS_IN_TDLIST) == 0) { \ TAILQ_INSERT_HEAD(&_thread_list, thrd, tle); \ _thr_hash_add(thrd); \ - (thrd)->flags |= THR_FLAGS_IN_TDLIST; \ + (thrd)->tlflags |= TLFLAGS_IN_TDLIST; \ } \ } while (0) #define THR_LIST_REMOVE(thrd) do { \ - if (((thrd)->flags & THR_FLAGS_IN_TDLIST) != 0) { \ + if (((thrd)->tlflags & TLFLAGS_IN_TDLIST) != 0) { \ TAILQ_REMOVE(&_thread_list, thrd, tle); \ _thr_hash_remove(thrd); \ - (thrd)->flags &= ~THR_FLAGS_IN_TDLIST; \ + (thrd)->tlflags &= ~TLFLAGS_IN_TDLIST; \ } \ } while (0) #define THR_GCLIST_ADD(thrd) do { \ - if (((thrd)->flags & THR_FLAGS_IN_GCLIST) == 0) { \ + if (((thrd)->tlflags & TLFLAGS_IN_GCLIST) == 0) { \ TAILQ_INSERT_HEAD(&_thread_gc_list, thrd, gcle);\ - (thrd)->flags |= THR_FLAGS_IN_GCLIST; \ + (thrd)->tlflags |= TLFLAGS_IN_GCLIST; \ _gc_count++; \ } \ } while (0) #define THR_GCLIST_REMOVE(thrd) do { \ - if (((thrd)->flags & THR_FLAGS_IN_GCLIST) != 0) { \ + if (((thrd)->tlflags & TLFLAGS_IN_GCLIST) != 0) { \ TAILQ_REMOVE(&_thread_gc_list, thrd, gcle); \ - (thrd)->flags &= ~THR_FLAGS_IN_GCLIST; \ + (thrd)->tlflags &= ~TLFLAGS_IN_GCLIST; \ _gc_count--; \ } \ } while (0) ==== //depot/projects/hammer/lib/libpthread/thread/thr_sig.c#23 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/thread/thr_sig.c,v 1.80 2004/10/21 03:42:24 davidxu Exp $ + * $FreeBSD: src/lib/libpthread/thread/thr_sig.c,v 1.81 2004/10/23 23:28:36 davidxu Exp $ */ #include <sys/param.h> #include <sys/types.h> @@ -1199,8 +1199,7 @@ thr_sigframe_save(struct pthread *thread, struct pthread_sigframe *psf) { /* This has to initialize all members of the sigframe. */ - psf->psf_flags = - thread->flags & (THR_FLAGS_PRIVATE | THR_FLAGS_IN_TDLIST); + psf->psf_flags = thread->flags & THR_FLAGS_PRIVATE; psf->psf_interrupted = thread->interrupted; psf->psf_timeout = thread->timeout; psf->psf_state = thread->state; ==== //depot/projects/hammer/release/scripts/print-cdrom-packages.sh#25 (text+ko) ==== @@ -2,7 +2,7 @@ # # Author: Jordan Hubbard # Date: Mon Jul 10 01:18:20 2000 -# Version: $FreeBSD: src/release/scripts/print-cdrom-packages.sh,v 1.67 2004/10/17 21:05:40 marcel Exp $ +# Version: $FreeBSD: src/release/scripts/print-cdrom-packages.sh,v 1.69 2004/10/23 19:54:18 scottl Exp $ # # MAINTAINER: re # @@ -67,93 +67,109 @@ ## Start of set for CDROM #1 -# This is the set required by sysinstall. CDROM_SET_1="" -if [ "X${PKG_ARCH}" = "Xalpha" ]; then -CDROM_SET_1="${CDROM_SET_1} emulators/osf1_base" -elif [ "X${PKG_ARCH}" = "Xi386" ]; then -CDROM_SET_1="${CDROM_SET_1} emulators/linux_base" -fi -CDROM_SET_1="${CDROM_SET_1} lang/perl5.8" -CDROM_SET_1="${CDROM_SET_1} mail/exim" -CDROM_SET_1="${CDROM_SET_1} mail/postfix" -CDROM_SET_1="${CDROM_SET_1} net/pcnfsd" -CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-100dpi" -CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-75dpi" -CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-cyrillic" -CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-encodings" -CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-miscbitmaps" -CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-truetype" -CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-type1" -CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-fontserver" -CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-nestserver" -CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-printserver" -CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-server" -CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-vfbserver" -CDROM_SET_1="${CDROM_SET_1} x11-wm/afterstep" -CDROM_SET_1="${CDROM_SET_1} x11-wm/enlightenment" -CDROM_SET_1="${CDROM_SET_1} x11-wm/fvwm2" -CDROM_SET_1="${CDROM_SET_1} x11-wm/sawfish2" -CDROM_SET_1="${CDROM_SET_1} x11-wm/windowmaker" -CDROM_SET_1="${CDROM_SET_1} x11/xorg" -CDROM_SET_1="${CDROM_SET_1} x11/xorg-clients" -CDROM_SET_1="${CDROM_SET_1} x11/xorg-documents" -CDROM_SET_1="${CDROM_SET_1} x11/xorg-libraries" -CDROM_SET_1="${CDROM_SET_1} x11/xorg-manpages" -CDROM_SET_1="${CDROM_SET_1} x11/gnome2-lite" -CDROM_SET_1="${CDROM_SET_1} x11/kde-lite" -CDROM_SET_1="${CDROM_SET_1} www/links" +if [ "X${PKG_ARCH}" = "Xia64" ]; then + CDROM_SET_1="${CDROM_SET_1} archivers/unzip" + CDROM_SET_1="${CDROM_SET_1} devel/gmake" + CDROM_SET_1="${CDROM_SET_1} lang/perl5.8" + CDROM_SET_1="${CDROM_SET_1} security/sudo" + CDROM_SET_1="${CDROM_SET_1} shells/bash2" + CDROM_SET_1="${CDROM_SET_1} shells/pdksh" + CDROM_SET_1="${CDROM_SET_1} shells/zsh" + CDROM_SET_1="${CDROM_SET_1} x11/gnome2-lite" + CDROM_SET_1="${CDROM_SET_1} x11/kde-lite" + CDROM_SET_1="${CDROM_SET_1} x11/xorg" + CDROM_SET_1="${CDROM_SET_1} x11/xorg-manpages" +else + # This is the set required by sysinstall. + if [ "X${PKG_ARCH}" = "Xalpha" ]; then + CDROM_SET_1="${CDROM_SET_1} emulators/osf1_base" + elif [ "X${PKG_ARCH}" = "Xi386" ]; then + CDROM_SET_1="${CDROM_SET_1} emulators/linux_base" + fi + CDROM_SET_1="${CDROM_SET_1} lang/perl5.8" + CDROM_SET_1="${CDROM_SET_1} mail/exim" + CDROM_SET_1="${CDROM_SET_1} mail/postfix" + CDROM_SET_1="${CDROM_SET_1} net/pcnfsd" + CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-100dpi" + CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-75dpi" + CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-cyrillic" + CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-encodings" + CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-miscbitmaps" + CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-truetype" + CDROM_SET_1="${CDROM_SET_1} x11-fonts/xorg-fonts-type1" + CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-fontserver" + CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-nestserver" + CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-printserver" + CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-server" + CDROM_SET_1="${CDROM_SET_1} x11-servers/xorg-vfbserver" + CDROM_SET_1="${CDROM_SET_1} x11-wm/afterstep" + CDROM_SET_1="${CDROM_SET_1} x11-wm/enlightenment" + CDROM_SET_1="${CDROM_SET_1} x11-wm/fvwm2" + CDROM_SET_1="${CDROM_SET_1} x11-wm/sawfish2" + CDROM_SET_1="${CDROM_SET_1} x11-wm/windowmaker" + CDROM_SET_1="${CDROM_SET_1} x11/xorg" + CDROM_SET_1="${CDROM_SET_1} x11/xorg-clients" + CDROM_SET_1="${CDROM_SET_1} x11/xorg-documents" + CDROM_SET_1="${CDROM_SET_1} x11/xorg-libraries" + CDROM_SET_1="${CDROM_SET_1} x11/xorg-manpages" + if [ "X${PKG_ARCH}" = "Xi386" ]; then + CDROM_SET_1="${CDROM_SET_1} x11/gnome2-lite" + else + CDROM_SET_1="${CDROM_SET_1} x11/gnome2" + fi + CDROM_SET_1="${CDROM_SET_1} x11/kde-lite" + CDROM_SET_1="${CDROM_SET_1} www/links" -# This is the set of "people really want these" packages. Please add to -# this list. -CDROM_SET_1="${CDROM_SET_1} astro/xearth" -CDROM_SET_1="${CDROM_SET_1} editors/emacs" -CDROM_SET_1="${CDROM_SET_1} editors/vim" -CDROM_SET_1="${CDROM_SET_1} editors/vim-lite" -CDROM_SET_1="${CDROM_SET_1} emulators/mtools" -CDROM_SET_1="${CDROM_SET_1} graphics/xv" -CDROM_SET_1="${CDROM_SET_1} irc/xchat2" -CDROM_SET_1="${CDROM_SET_1} mail/fetchmail" -CDROM_SET_1="${CDROM_SET_1} mail/mutt" -CDROM_SET_1="${CDROM_SET_1} mail/pine4" -CDROM_SET_1="${CDROM_SET_1} mail/popd" -CDROM_SET_1="${CDROM_SET_1} mail/xfmail" -CDROM_SET_1="${CDROM_SET_1} misc/bsdiff" -CDROM_SET_1="${CDROM_SET_1} net/cvsup" -CDROM_SET_1="${CDROM_SET_1} net/rsync" -CDROM_SET_1="${CDROM_SET_1} net/samba" -CDROM_SET_1="${CDROM_SET_1} news/slrn" -CDROM_SET_1="${CDROM_SET_1} news/tin" -CDROM_SET_1="${CDROM_SET_1} print/a2ps-letter" -if [ "X${PKG_ARCH}" = "Xi386" ]; then -CDROM_SET_1="${CDROM_SET_1} print/acroread5" -fi -CDROM_SET_1="${CDROM_SET_1} print/apsfilter" -CDROM_SET_1="${CDROM_SET_1} print/ghostscript-gnu-nox11" -CDROM_SET_1="${CDROM_SET_1} print/gv" -CDROM_SET_1="${CDROM_SET_1} print/psutils-letter" -if [ ! "X${PKG_ARCH}" = "Xia64" ]; then -CDROM_SET_1="${CDROM_SET_1} security/freebsd-update" -fi -CDROM_SET_1="${CDROM_SET_1} security/sudo" -CDROM_SET_1="${CDROM_SET_1} shells/bash2" -CDROM_SET_1="${CDROM_SET_1} shells/pdksh" -CDROM_SET_1="${CDROM_SET_1} shells/zsh" -CDROM_SET_1="${CDROM_SET_1} sysutils/portupgrade" -CDROM_SET_1="${CDROM_SET_1} www/lynx" -if [ "X${PKG_ARCH}" = "Xi386" ]; then -CDROM_SET_1="${CDROM_SET_1} www/opera" -fi -CDROM_SET_1="${CDROM_SET_1} x11/rxvt" + # This is the set of "people really want these" packages. Please + # add to this list. + CDROM_SET_1="${CDROM_SET_1} astro/xearth" + CDROM_SET_1="${CDROM_SET_1} editors/emacs" + CDROM_SET_1="${CDROM_SET_1} editors/vim" + CDROM_SET_1="${CDROM_SET_1} editors/vim-lite" + CDROM_SET_1="${CDROM_SET_1} emulators/mtools" + CDROM_SET_1="${CDROM_SET_1} graphics/xv" + CDROM_SET_1="${CDROM_SET_1} irc/xchat2" + CDROM_SET_1="${CDROM_SET_1} mail/fetchmail" + CDROM_SET_1="${CDROM_SET_1} mail/mutt" + CDROM_SET_1="${CDROM_SET_1} mail/pine4" + CDROM_SET_1="${CDROM_SET_1} mail/popd" + CDROM_SET_1="${CDROM_SET_1} mail/xfmail" + CDROM_SET_1="${CDROM_SET_1} misc/bsdiff" + CDROM_SET_1="${CDROM_SET_1} net/cvsup" + CDROM_SET_1="${CDROM_SET_1} net/rsync" + CDROM_SET_1="${CDROM_SET_1} net/samba" + CDROM_SET_1="${CDROM_SET_1} news/slrn" + CDROM_SET_1="${CDROM_SET_1} news/tin" + CDROM_SET_1="${CDROM_SET_1} print/a2ps-letter" + if [ "X${PKG_ARCH}" = "Xi386" ]; then + CDROM_SET_1="${CDROM_SET_1} print/acroread5" + CDROM_SET_1="${CDROM_SET_1} comms/ltmdm" + fi + CDROM_SET_1="${CDROM_SET_1} print/apsfilter" + CDROM_SET_1="${CDROM_SET_1} print/ghostscript-gnu-nox11" + CDROM_SET_1="${CDROM_SET_1} print/gv" + CDROM_SET_1="${CDROM_SET_1} print/psutils-letter" + CDROM_SET_1="${CDROM_SET_1} security/freebsd-update" + CDROM_SET_1="${CDROM_SET_1} security/sudo" + CDROM_SET_1="${CDROM_SET_1} shells/bash2" + CDROM_SET_1="${CDROM_SET_1} shells/pdksh" + CDROM_SET_1="${CDROM_SET_1} shells/zsh" + CDROM_SET_1="${CDROM_SET_1} sysutils/portupgrade" + CDROM_SET_1="${CDROM_SET_1} www/lynx" + if [ "X${PKG_ARCH}" = "Xi386" ]; then + CDROM_SET_1="${CDROM_SET_1} www/opera" + fi + CDROM_SET_1="${CDROM_SET_1} x11/rxvt" -# VERY common build dependencies -CDROM_SET_1="${CDROM_SET_1} archivers/unzip" -CDROM_SET_1="${CDROM_SET_1} devel/gmake" -CDROM_SET_1="${CDROM_SET_1} graphics/png" -if [ "X${PKG_ARCH}" = "Xi386" -o "X${PKG_ARCH}" = "Xalpha" ]; then -CDROM_SET_1="${CDROM_SET_1} misc/compat4x" + # VERY common build dependencies + CDROM_SET_1="${CDROM_SET_1} archivers/unzip" + CDROM_SET_1="${CDROM_SET_1} devel/gmake" + CDROM_SET_1="${CDROM_SET_1} graphics/png" + if [ "X${PKG_ARCH}" = "Xi386" -o "X${PKG_ARCH}" = "Xalpha" ]; then + CDROM_SET_1="${CDROM_SET_1} misc/compat4x" + fi fi - ## End of set for CDROM #1 ## Start of set for CDROM #2 ==== //depot/projects/hammer/sbin/ipfw/ipfw.8#31 (text+ko) ==== @@ -1,7 +1,7 @@ .\" -.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.157 2004/10/09 20:07:33 csjp Exp $ +.\" $FreeBSD: src/sbin/ipfw/ipfw.8,v 1.158 2004/10/22 19:12:01 andre Exp $ .\" -.Dd September 19, 2004 +.Dd October 22, 2004 .Dt IPFW 8 .Os .Sh NAME @@ -1812,9 +1812,9 @@ .Xr divert 4 socket bound to the specified port will receive all packets diverted to that port. -If no socket is bound to the destination port, or if the kernel -wasn't compiled with divert socket support, the packets are -dropped. +If no socket is bound to the destination port, or if the divert module is +not loaded, or if the kernel wasn't compiled with divert socket support, +the packets are dropped. .Sh SYSCTL VARIABLES A set of .Xr sysctl 8 ==== //depot/projects/hammer/share/man/man4/aac.4#8 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/aac.4,v 1.25 2004/08/13 03:55:35 scottl Exp $ +.\" $FreeBSD: src/share/man/man4/aac.4,v 1.26 2004/10/22 04:17:28 scottl Exp $ .Dd Augyst 12, 2004 .Dt AAC 4 .Os @@ -109,6 +109,8 @@ .It Adaptec SCSI RAID 2810SA .It +Adaptec SCSI RAID 21610SA +.It Adaptec SCSI RAID 5400S .It Dell CERC SATA RAID 2 ==== //depot/projects/hammer/share/man/man4/divert.4#6 (text+ko) ==== @@ -1,6 +1,6 @@ -.\" $FreeBSD: src/share/man/man4/divert.4,v 1.30 2004/09/14 09:35:10 andre Exp $ +.\" $FreeBSD: src/share/man/man4/divert.4,v 1.31 2004/10/22 19:12:01 andre Exp $ .\" -.Dd September 14, 2004 +.Dd October 22, 2004 .Dt DIVERT 4 .Os .Sh NAME @@ -115,12 +115,22 @@ same rule. .Sh DETAILS To enable divert sockets, your kernel must be compiled with the option -.Dv IPDIVERT . +.Dv IPDIVERT +or you have to load the +.Dv IPDIVERT +module. +.Pp +You can load the +.Dv IPDIVERT +module at runtime by issuing the following command: +.Bd -literal -offset indent +kldload ipdivert +.Ed .Pp If a packet is diverted but no socket is bound to the port, or if .Dv IPDIVERT -is not enabled in the kernel, the packet is dropped. +is not enabled or loaded in the kernel, the packet is dropped. .Pp Incoming packet fragments which get diverted are fully reassembled before delivery; the diversion of any one fragment causes the entire ==== //depot/projects/hammer/share/man/man4/inet.4#12 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93 -.\" $FreeBSD: src/share/man/man4/inet.4,v 1.32 2004/08/16 06:30:58 maxim Exp $ +.\" $FreeBSD: src/share/man/man4/inet.4,v 1.33 2004/10/23 18:45:53 andre Exp $ .\" -.Dd August 15, 2004 +.Dd October 23, 2004 .Dt INET 4 .Os .Sh NAME @@ -151,69 +151,6 @@ .It Dv SIOCGIFNETMASK Get interface network mask. .El -.Sh ROUTING -The current implementation of Internet protocols includes some routing-table -adaptations to provide enhanced caching of certain end-to-end -information necessary for Transaction TCP and Path MTU Discovery. -The -following changes are the most significant: -.Bl -enum -.It -All IP routes, except those with the -.Dv RTF_CLONING -flag and those to multicast destinations, have the -.Dv RTF_PRCLONING -flag forcibly enabled (they are thus said to be -.Dq "protocol cloning" ) . -.It -When the last reference to an IP route is dropped, the route is -examined to determine if it was created by cloning such a route. -If this is the case, the -.Dv RTF_PROTO3 -flag is turned on, and the expiration timer is initialized to go off -in net.inet.ip.rtexpire seconds. -If such a route is re-referenced, -the flag and expiration timer are reset. -.It -A kernel timeout runs once every ten minutes, or sooner if there are -soon-to-expire routes in the kernel routing table, and deletes the -expired routes. -.El -.Pp -A dynamic process is in place to modify the value of -net.inet.ip.rtexpire if the number of cached routes grows too large. -If after an expiration run there are still more than -net.inet.ip.rtmaxcache unreferenced routes remaining, the rtexpire -value is multiplied by 3/4, and any routes which have longer -expiration times have those times adjusted. -This process is damped somewhat by specification of a minimum rtexpire value -(net.inet.ip.rtminexpire), and by restricting the reduction to once in -a ten-minute period. -.Pp -If some external process deletes the original route from which a -protocol-cloned route was generated, the -.Dq child route -is deleted. -(This is actually a generic mechanism in the routing code support for -protocol-requested cloning.) -.Pp -No attempt is made to manage routes which were not created by protocol -cloning; these are assumed to be static, under the management of an -external routing process, or under the management of a link layer -(e.g., -.Tn ARP -for Ethernets). -.Pp -Only certain types of network activity will result in the cloning of a -route using this mechanism. -Specifically, those protocols (such as -.Tn TCP -and -.Tn UDP ) -which themselves cache a long-lasting reference to route for a destination -will trigger the mechanism; whereas raw -.Tn IP -packets, whether locally-generated or forwarded, will not. .Ss MIB Variables A number of variables are implemented in the net.inet branch of the .Xr sysctl 3 @@ -228,22 +165,32 @@ Defaults to off. .It Dv IPCTL_FASTFORWARDING .Pq ip.fastforwarding -Boolean: enable/disable the use of fast IP forwarding code. +Boolean: enable/disable the use of +.Tn fast IP forwarding +code. Defaults to off. -When fast forwarding is enabled, IP packets are forwarded directly to -the appropriate network interface with a minimal validity checking, which -greatly improves the throughput. -On the other hand, they bypass the -standard procedures, such as IP option processing and -.Xr ipfirewall 4 -checking. -It is not guaranteed that every packet will be fast-forwarded. +When +.Tn fast IP forwarding +is enabled, IP packets are forwarded directly to the appropriate network +interface with direct processing to completion, which greatly improves +the throughput. +All packets for local IP addresses, non-unicast, or with IP options are +handled by the normal IP input processing path. +All features of the normal (slow) IP forwarding path are supported +including firewall (through +.Xr pfil 9 +hooks) checking, except +.Xr IPSEC 4 +tunnel brokering. +The +.Tn IP fastforwarding +path does not generate ICMP redirect or source quench messages. .It Dv IPCTL_SENDREDIRECTS .Pq ip.redirect Boolean: enable/disable sending of ICMP redirects in response to -unforwardable .Tn IP -packets. +packets for which a better, and for the sender directly reachable, route +and next hop is known. Defaults to on. .It Dv IPCTL_DEFTTL .Pq ip.ttl @@ -310,9 +257,11 @@ .Xr intro 4 , .Xr ip 4 , .Xr ipfirewall 4 , +.Xr route 4 , .Xr tcp 4 , .Xr ttcp 4 , -.Xr udp 4 +.Xr udp 4, +.Xr pfil 9 .Rs .%T "An Introductory 4.3 BSD Interprocess Communication Tutorial" .%B PS1 ==== //depot/projects/hammer/share/man/man4/ng_device.4#3 (text+ko) ==== @@ -22,9 +22,9 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ng_device.4,v 1.2 2002/12/12 15:27:26 ru Exp $ +.\" $FreeBSD: src/share/man/man4/ng_device.4,v 1.3 2004/10/23 11:14:30 glebius Exp $ .\" -.Dd June 15, 2002 +.Dd October 19, 2004 .Dt NG_DEVICE 4 .Os .Sh NAME @@ -51,64 +51,38 @@ all subsequent nodes .Pa /dev/ngd1 , /dev/ngd2 , etc. -The only way a -.Nm device -node can be created is by a connection to the main -.Nm device -node by another type of -.Xr netgraph 4 -node. -.Pp -When a node is shut down, the corresponding device is removed -and the device name becomes available for reuse by future -.Nm device -nodes. -.Pp +.Sh HOOKS A .Nm device -node has a single hook to which it connects to the requesting -.Xr netgraph 4 >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410240638.i9O6cxjY070010>