Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Aug 2003 21:30:41 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 35960 for review
Message-ID:  <200308120430.h7C4Uf2M005708@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=35960

Change 35960 by marcel@marcel_nfs on 2003/08/11 21:30:14

	IFC @35959

Affected files ...

.. //depot/projects/ia64/contrib/isc-dhcp/client/dhclient.c#11 integrate
.. //depot/projects/ia64/contrib/isc-dhcp/common/dispatch.c#5 integrate
.. //depot/projects/ia64/contrib/isc-dhcp/includes/dhcpd.h#9 integrate
.. //depot/projects/ia64/etc/network.subr#8 integrate
.. //depot/projects/ia64/etc/pccard_ether#9 integrate
.. //depot/projects/ia64/etc/sendmail/Makefile#12 integrate
.. //depot/projects/ia64/gnu/usr.bin/send-pr/send-pr.sh#5 integrate
.. //depot/projects/ia64/lib/Makefile#34 integrate
.. //depot/projects/ia64/lib/libc/alpha/sys/Makefile.inc#4 integrate
.. //depot/projects/ia64/lib/libc/amd64/sys/Makefile.inc#2 integrate
.. //depot/projects/ia64/lib/libc/i386/sys/Makefile.inc#5 integrate
.. //depot/projects/ia64/lib/libc/ia64/gen/fpgetmask.c#3 integrate
.. //depot/projects/ia64/lib/libc/ia64/gen/fpsetmask.c#3 integrate
.. //depot/projects/ia64/lib/libc/ia64/sys/Makefile.inc#5 integrate
.. //depot/projects/ia64/lib/libc/locale/Makefile.inc#15 integrate
.. //depot/projects/ia64/lib/libc/locale/big5.5#1 branch
.. //depot/projects/ia64/lib/libc/locale/gb18030.5#1 branch
.. //depot/projects/ia64/lib/libc/locale/gbk.5#1 branch
.. //depot/projects/ia64/lib/libc/locale/mskanji.5#1 branch
.. //depot/projects/ia64/lib/libc/locale/multibyte.3#8 integrate
.. //depot/projects/ia64/lib/libc/powerpc/sys/Makefile.inc#2 integrate
.. //depot/projects/ia64/lib/libc/sparc64/sys/Makefile.inc#8 integrate
.. //depot/projects/ia64/lib/libc/stdlib/random.c#4 integrate
.. //depot/projects/ia64/lib/libc/sys/Makefile.inc#16 integrate
.. //depot/projects/ia64/lib/libc/sys/mlockall.2#1 branch
.. //depot/projects/ia64/lib/libc/sys/ptrace.2#7 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_cancel.c#13 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_fork.c#3 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_init.c#15 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_kern.c#29 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_rtld.c#3 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_sig.c#21 integrate
.. //depot/projects/ia64/release/Makefile#69 integrate
.. //depot/projects/ia64/release/doc/en_US.ISO8859-1/errata/article.sgml#24 integrate
.. //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#59 integrate
.. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#116 integrate
.. //depot/projects/ia64/release/sparc64/mkisoimages.sh#3 integrate
.. //depot/projects/ia64/sbin/atm/atm/atm.c#4 integrate
.. //depot/projects/ia64/sbin/dhclient/Makefile.inc#5 integrate
.. //depot/projects/ia64/share/man/man4/Makefile#55 integrate
.. //depot/projects/ia64/share/man/man4/ng_atmpif.4#1 branch
.. //depot/projects/ia64/share/man/man5/Makefile#14 integrate
.. //depot/projects/ia64/share/man/man5/nsmb.conf.5#1 branch
.. //depot/projects/ia64/sys/alpha/alpha/vm_machdep.c#24 integrate
.. //depot/projects/ia64/sys/amd64/amd64/pmap.c#18 integrate
.. //depot/projects/ia64/sys/conf/NOTES#62 integrate
.. //depot/projects/ia64/sys/conf/files#92 integrate
.. //depot/projects/ia64/sys/conf/options#62 integrate
.. //depot/projects/ia64/sys/contrib/dev/acpica/osunixxf.c#2 integrate
.. //depot/projects/ia64/sys/dev/acpica/acpi_acad.c#6 integrate
.. //depot/projects/ia64/sys/dev/acpica/acpi_battery.c#5 integrate
.. //depot/projects/ia64/sys/dev/acpica/acpi_button.c#8 integrate
.. //depot/projects/ia64/sys/dev/acpica/acpi_cmbat.c#11 integrate
.. //depot/projects/ia64/sys/dev/amd/amd.c#8 integrate
.. //depot/projects/ia64/sys/dev/bge/if_bge.c#37 integrate
.. //depot/projects/ia64/sys/dev/bktr/bktr_core.c#9 integrate
.. //depot/projects/ia64/sys/dev/iicbus/iic.c#6 integrate
.. //depot/projects/ia64/sys/dev/iicbus/iicsmb.c#4 integrate
.. //depot/projects/ia64/sys/dev/mlx/mlx.c#11 integrate
.. //depot/projects/ia64/sys/dev/mly/mly.c#16 integrate
.. //depot/projects/ia64/sys/dev/pccbb/pccbb.c#32 integrate
.. //depot/projects/ia64/sys/dev/pccbb/pccbbreg.h#6 integrate
.. //depot/projects/ia64/sys/dev/smbus/smb.c#5 integrate
.. //depot/projects/ia64/sys/dev/sound/pci/ich.c#16 integrate
.. //depot/projects/ia64/sys/dev/sound/pci/ich.h#3 integrate
.. //depot/projects/ia64/sys/dev/trm/trm.c#12 integrate
.. //depot/projects/ia64/sys/i386/i386/pmap.c#55 integrate
.. //depot/projects/ia64/sys/i386/ibcs2/ibcs2_stat.c#8 integrate
.. //depot/projects/ia64/sys/i386/isa/spigot.c#9 integrate
.. //depot/projects/ia64/sys/ia64/ia64/machdep.c#88 integrate
.. //depot/projects/ia64/sys/ia64/ia64/support.S#2 integrate
.. //depot/projects/ia64/sys/ia64/ia64/trap.c#61 integrate
.. //depot/projects/ia64/sys/ia64/ia64/vm_machdep.c#33 integrate
.. //depot/projects/ia64/sys/ia64/include/cpu.h#20 integrate
.. //depot/projects/ia64/sys/ia64/include/ieeefp.h#4 integrate
.. //depot/projects/ia64/sys/ia64/include/pcb.h#9 integrate
.. //depot/projects/ia64/sys/kern/kern_sig.c#65 integrate
.. //depot/projects/ia64/sys/kern/link_elf.c#21 integrate
.. //depot/projects/ia64/sys/kern/subr_param.c#11 integrate
.. //depot/projects/ia64/sys/kern/sys_pipe.c#38 integrate
.. //depot/projects/ia64/sys/kern/sys_process.c#23 integrate
.. //depot/projects/ia64/sys/kern/uipc_syscalls.c#38 integrate
.. //depot/projects/ia64/sys/libkern/random.c#4 integrate
.. //depot/projects/ia64/sys/modules/Makefile#58 integrate
.. //depot/projects/ia64/sys/modules/netgraph/atm/Makefile#2 integrate
.. //depot/projects/ia64/sys/modules/netgraph/atm/atmpif/Makefile#1 branch
.. //depot/projects/ia64/sys/netgraph/atm/atmpif/ng_atmpif.c#1 branch
.. //depot/projects/ia64/sys/netgraph/atm/atmpif/ng_atmpif_harp.c#1 branch
.. //depot/projects/ia64/sys/netgraph/atm/atmpif/ng_atmpif_var.h#1 branch
.. //depot/projects/ia64/sys/netgraph/atm/ng_atmpif.h#1 branch
.. //depot/projects/ia64/sys/pci/if_rl.c#40 integrate
.. //depot/projects/ia64/sys/pci/if_rlreg.h#12 integrate
.. //depot/projects/ia64/sys/pci/meteor.c#9 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/machdep.c#44 integrate
.. //depot/projects/ia64/sys/sys/mman.h#7 integrate
.. //depot/projects/ia64/sys/sys/pipe.h#7 integrate
.. //depot/projects/ia64/sys/vm/uma_core.c#49 integrate
.. //depot/projects/ia64/sys/vm/uma_int.h#15 integrate
.. //depot/projects/ia64/sys/vm/vm_contig.c#18 integrate
.. //depot/projects/ia64/sys/vm/vm_glue.c#33 integrate
.. //depot/projects/ia64/sys/vm/vm_init.c#10 integrate
.. //depot/projects/ia64/sys/vm/vm_kern.c#27 integrate
.. //depot/projects/ia64/sys/vm/vm_kern.h#4 integrate
.. //depot/projects/ia64/sys/vm/vm_map.c#61 integrate
.. //depot/projects/ia64/sys/vm/vm_map.h#24 integrate
.. //depot/projects/ia64/sys/vm/vm_mmap.c#22 integrate
.. //depot/projects/ia64/sys/vm/vm_unix.c#7 integrate
.. //depot/projects/ia64/usr.bin/mklocale/mklocale.1#7 integrate
.. //depot/projects/ia64/usr.sbin/acpi/acpidb/Makefile#2 integrate
.. //depot/projects/ia64/usr.sbin/acpi/iasl/Makefile#2 integrate
.. //depot/projects/ia64/usr.sbin/rtadvd/advcap.c#3 integrate
.. //depot/projects/ia64/usr.sbin/rtadvd/advcap.h#2 integrate
.. //depot/projects/ia64/usr.sbin/rtadvd/config.c#9 integrate
.. //depot/projects/ia64/usr.sbin/rtadvd/dump.c#4 integrate
.. //depot/projects/ia64/usr.sbin/rtadvd/if.c#3 integrate
.. //depot/projects/ia64/usr.sbin/rtadvd/if.h#2 integrate
.. //depot/projects/ia64/usr.sbin/rtadvd/rrenum.c#3 integrate
.. //depot/projects/ia64/usr.sbin/rtadvd/timer.c#4 integrate
.. //depot/projects/ia64/usr.sbin/rtsold/dump.c#3 integrate
.. //depot/projects/ia64/usr.sbin/rtsold/if.c#3 integrate
.. //depot/projects/ia64/usr.sbin/rtsold/probe.c#3 integrate
.. //depot/projects/ia64/usr.sbin/rtsold/rtsold.c#4 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/install.c#21 integrate

Differences ...

==== //depot/projects/ia64/contrib/isc-dhcp/client/dhclient.c#11 (text+ko) ====

@@ -42,7 +42,7 @@
 #ifndef lint
 static char ocopyright[] =
 "$Id: dhclient.c,v 1.129.2.12 2002/11/07 23:26:38 dhankins Exp $ Copyright (c) 1995-2002 Internet Software Consortium.  All rights reserved.\n"
-"$FreeBSD: src/contrib/isc-dhcp/client/dhclient.c,v 1.30 2003/08/07 14:58:46 mbr Exp $\n";
+"$FreeBSD: src/contrib/isc-dhcp/client/dhclient.c,v 1.32 2003/08/10 22:01:37 mbr Exp $\n";
 #endif /* not lint */
 
 #include "dhcpd.h"
@@ -263,7 +263,7 @@
 		    /* Init some interface vars, enable polling */
 #ifdef ENABLE_POLLING_MODE
 		    tmp -> forcediscover = 0;
-		    tmp -> linkstate = 0;
+		    tmp -> linkstate = HAVELINK;
 		    tmp -> polling = 1;
 #endif /* ifdef ENABLE_POLLING_MODE */
 
@@ -423,12 +423,13 @@
 #ifdef __FreeBSD__
 			set_ieee80211 (ip);
 #endif
+#ifdef ENABLE_POLLING_MODE
 			ip -> forcediscover = 0;
 			if (ip -> client -> config -> media != NULL)
 				ip -> havemedia = 1;
 			else
 				ip -> havemedia = 0;
-
+#endif
 			script_init (ip -> client,
 				     "PREINIT", (struct string_list *)0);
 			if (ip -> client -> alias)
@@ -472,8 +473,8 @@
 				/* Set up a timeout to start the initialization
 				   process. */
 #ifdef ENABLE_POLLING_MODE
-				add_timeout (cur_time + random () % 5,
-					     state_link, client, 0, 0);
+				add_timeout (cur_time + random () % 5 + 2,
+					     state_polling, client, 0, 0);
 #else
 				add_timeout (cur_time + random () % 5,
 					     state_reboot, client, 0, 0);
@@ -1460,9 +1461,6 @@
 		}
 	}
 
-	if (interface_active (client -> interface) == NOLINK)
-		return;
-
 	/* If we're supposed to increase the interval, do so.  If it's
 	   currently zero (i.e., we haven't sent any packets yet), set
 	   it to one; otherwise, add to it a random number between
@@ -1529,7 +1527,7 @@
 	struct client_lease *loop;
 	struct client_lease *lp;
 
-	if (interface_active (client -> interface) == NOLINK)
+	if (client -> interface -> linkstate == NOLINK)
 		return;
 
 	loop = lp = client -> active;
@@ -1565,7 +1563,7 @@
 					  (long)(client -> active -> renewal -
 						 cur_time), "seconds");
 #ifdef ENABLE_POLLING_MODE
-				/* Enable polling for thsi interface */
+				/* Enable polling for this interface */
 				client -> interface -> polling = 1;
 #endif
 				add_timeout (client -> active -> renewal,
@@ -2859,9 +2857,10 @@
 			      case S_STOPPED:
 				break;
 			}
+#ifndef ENABLE_POLLING_MODE
 			client -> state = S_INIT;
-			if (interface_active (ip) == HAVELINK)
-				state_reboot (client);
+			state_reboot (client);
+#endif
 		}
 	}
 }
@@ -3022,10 +3021,8 @@
 			client -> state = S_INIT;
 			/* Set up a timeout to start the initialization
 			   process. */
-			if (interface_active (ip) == HAVELINK) {
-				add_timeout (cur_time + random () % 5,
-					     state_reboot, client, 0, 0);
-			}
+			add_timeout (cur_time + random () % 5,
+				     state_reboot, client, 0, 0);
 		}
 	}
 	return ISC_R_SUCCESS;
@@ -3089,8 +3086,9 @@
 		    break;
 
 		  case server_awaken:
-		    if (interface_active (ip) == HAVELINK)
-			    state_reboot (client);
+#ifndef ENABLE_POLLING_MODE
+		    state_reboot (client);
+#endif
 		    break;
 		}
 	    }
@@ -3271,44 +3269,29 @@
 			 */
 			if ((IFM_TYPE(ifmr.ifm_active) == IFM_IEEE80211) &&
 			     (ifmr.ifm_status & IFM_ACTIVE)) {
-				if (ip -> havemedia &&
-				    ip -> client -> state != S_BOUND)
-					ip -> forcediscover = 1;
 				return (HAVELINK);
 			}
 		} else {
-			/*
-			 * Media settings can also be possible for normal
-			 * devices. 
-			 */
 			if (ifmr.ifm_status & IFM_ACTIVE) {
-				if (ip -> havemedia &&
-				    ip -> client -> state != S_BOUND)
-					ip -> forcediscover = 1;
 				return (HAVELINK);
 			}
 		}
+		/*
+		 * We really have no link.
+		 */
+		return (NOLINK);
 	}
-
 	/*
-	 * If dhclient.conf contains media settings, we cannot
-	 * abort if the interface is not set to active mode.
+	 * IFM_AVALID is not set. We cannot check
+	 * the link state. Assume HAVELINK.
 	 */
-	if (ip -> havemedia && ip -> client -> state != S_BOUND)
-		return (HAVELINK);
 
-	/*
-	 * We really have no link.
-	 */
-	return (NOLINK);
-#else /* ifdef __FreeBSD__ */
-
+#endif /* Other OSs */
 	/*
 	 * Always return a successful link if the OS
 	 * is not supported.
 	 */
 	return (HAVELINK);
-#endif /* Other OSs */
 }
 
 #ifdef __FreeBSD__
@@ -3357,11 +3340,12 @@
 }
 
 /* Check the state of the NICs if we have link */
-void state_link (cpp)
+void state_polling (cpp)
         void *cpp;
 {
 	struct interface_info *ip;
 	struct client_state *client;
+	int result;
 
 	for (ip = interfaces; ip; ip = ip -> next) {
 		if (! ip -> polling)
@@ -3375,7 +3359,18 @@
 		}
 #endif
 
+		result = interface_active (ip);
 		/*
+		 * If dhclient.conf contains media settings, we cannot
+		 * abort if the interface is not set to active mode.
+		 */
+		if (ip -> havemedia && ip -> client -> state != S_BOUND) {
+			if (result == HAVELINK)
+				ip -> forcediscover = 1;
+			result = HAVELINK;
+		}
+
+		/*
 		 * The last status of the interface tells us
 		 * the we've got no link ...
 		 */
@@ -3384,7 +3379,7 @@
 			 * ... but we have now link. Let's send
 			 * requests.
 			 */
-			if (interface_active (ip) == HAVELINK) {
+			if (result == HAVELINK) {
 #ifdef DEBUG
 				if (ip -> havemedia)
 					printf ("%s: Trying media settings on interface\n",
@@ -3408,7 +3403,7 @@
 				ip -> linkstate = HAVELINK;
 			} else {
 #ifdef DEBUG
-				printf ("%s: No Link on interface\n", ip -> name);
+				printf ("%s: No link on interface\n", ip -> name);
 #endif
 				for (client = ip -> client;
 				     client; client = client -> next) {
@@ -3423,7 +3418,7 @@
 					 */
 					if (client -> state == S_INIT) {
 						add_timeout (cur_time + (polling_interval + 1),
-						             state_link, client, 0, 0);
+						             state_polling, client, 0, 0);
 					}
 			 	}
 				ip -> linkstate = NOLINK;
@@ -3444,7 +3439,7 @@
 		 * the we previously had link.
 		 */
 		if (ip -> linkstate == HAVELINK && doinitcheck) {
-			if (interface_active (ip) == NOLINK) {
+			if (result == NOLINK) {
 				/*
 				 * We lost link on the interface, or it isn't
 				 * associated anymore.

==== //depot/projects/ia64/contrib/isc-dhcp/common/dispatch.c#5 (text+ko) ====

@@ -44,7 +44,7 @@
 #ifndef lint
 static char copyright[] =
 "$Id: dispatch.c,v 1.63.2.3 2002/11/17 02:26:57 dhankins Exp $ Copyright (c) 1995-2002 The Internet Software Consortium.  All rights reserved.\n"
-"$FreeBSD: src/contrib/isc-dhcp/common/dispatch.c,v 1.3 2003/07/28 11:49:07 mbr Exp $\n";
+"$FreeBSD: src/contrib/isc-dhcp/common/dispatch.c,v 1.4 2003/08/10 22:01:37 mbr Exp $\n";
 #endif /* not lint */
 
 #include "dhcpd.h"
@@ -115,7 +115,7 @@
 		tvp = process_outstanding_timeouts (&tv);
 #ifdef ENABLE_POLLING_MODE
 		GET_TIME (&cur_time);
-		add_timeout(cur_time + polling_interval, state_link, 0, 0, 0);
+		add_timeout(cur_time + polling_interval, state_polling, 0, 0, 0);
 		tvp_new = process_outstanding_timeouts(&tv);
 		if (tvp != NULL && (tvp -> tv_sec > tvp_new -> tv_sec))
 			tvp = tvp_new;

==== //depot/projects/ia64/contrib/isc-dhcp/includes/dhcpd.h#9 (text+ko) ====

@@ -40,7 +40,7 @@
  * see ``http://www.vix.com''.   To learn more about Nominum, Inc., see
  * ``http://www.nominum.com''.
  *
- * $FreeBSD: src/contrib/isc-dhcp/includes/dhcpd.h,v 1.6 2003/08/07 14:58:46 mbr Exp $
+ * $FreeBSD: src/contrib/isc-dhcp/includes/dhcpd.h,v 1.7 2003/08/10 22:01:37 mbr Exp $
  */
 
 #ifndef __CYGWIN32__
@@ -1864,7 +1864,7 @@
 
 void state_reboot PROTO ((void *));
 #ifdef ENABLE_POLLING_MODE
-void state_link PROTO (());
+void state_polling PROTO (());
 void state_background PROTO ((void *));
 #endif
 void state_init PROTO ((void *));

==== //depot/projects/ia64/etc/network.subr#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/etc/network.subr,v 1.152 2003/08/08 17:43:58 ume Exp $
+# $FreeBSD: src/etc/network.subr,v 1.153 2003/08/11 20:32:00 mbr Exp $
 #
 
 #
@@ -299,6 +299,24 @@
 		esac
 	done
 
+	case ${pccard_ifconfig} in
+	[Dd][Hh][Cc][Pp])
+		for _if in ${removable_interfaces} ; do
+			_test_if=`ifconfig ${_if} 2>&1`
+			case "$_test_if" in
+			"ifconfig: interface $_if does not exist")
+				;;
+			*)
+				_dhcplist="${_dhcplist}${_aprefix}${_if}"
+				[ -z "$_aprefix" ] && _aprefix=' '
+				;;
+			esac
+		done
+		;;
+	*)
+		;;
+	esac
+
 	case "$type" in
 	nodhcp)
 		echo $_nodhcplist

==== //depot/projects/ia64/etc/pccard_ether#9 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/bin/sh -
 #
-# $FreeBSD: src/etc/pccard_ether,v 1.32 2003/06/16 09:11:29 maxim Exp $
+# $FreeBSD: src/etc/pccard_ether,v 1.33 2003/08/11 20:32:00 mbr Exp $
 #
 # pccard_ether interfacename [start|stop] [ifconfig option]
 #
@@ -12,11 +12,40 @@
 		pidfile="/var/run/dhclient.${interface}.pid"
 	elif [ -s /var/run/dhcpc.${interface}.pid ]; then
 		pidfile="/var/run/dhcpc.${interface}.pid"
+	elif [ -s /var/run/dhclient.pid ]; then
+		# If dhclient is already running, record
+		# it's interfaces.
+		if [ -x /usr/bin/grep ]; then
+			eval _active_list=\"`/bin/ps -axwww | \
+				/usr/bin/grep dhclient | \
+				/usr/bin/grep -v grep | \
+				/usr/bin/sed -e 's|^.*dhclient||' | \
+				/usr/bin/awk '{for (i=1;i<=NF;i++) \
+					{ if ($i~/[a-zA-Z].[0-9]$/) \
+					{ printf(" %s",$i) } }}'` \
+				\"
+		fi
+
+		_aprefix=
+		for _if in _active_list ; do
+			_test_if=`ifconfig ${_if} 2>&1`
+			case "$_test_if" in
+			"ifconfig: interface $_if does not exist")
+				;;
+			*)
+				_dhcplist="${_dhcplist}${_aprefix}${_if}"
+				[ -z "$_aprefix" ] && _aprefix=' '
+				;;
+			esac
+		done
+
+		pidfile="/var/run/dhclient.pid"
 	else
 		return
 	fi
 	kill `cat ${pidfile}`
 	rm -f ${pidfile}
+	sh `/etc/rc.d/dhclient start`
 }
 
 start_dhcp() {
@@ -35,7 +64,7 @@
 			pidfile="/var/run/dhclient.${interface}.pid"
 			dhclient_flags="${dhclient_flags} -pf ${pidfile}"
 		fi
-		${dhclient_program} ${dhclient_flags} ${interface}
+		${dhclient_program} ${dhclient_flags} $_dhcplist ${interface}
 	else
 		echo "${dhclient_program}: DHCP client software not available"
 	fi

==== //depot/projects/ia64/etc/sendmail/Makefile#12 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.19 (Berkeley) 1/14/97
-# $FreeBSD: src/etc/sendmail/Makefile,v 1.26 2003/07/10 04:53:32 gshapiro Exp $
+# $FreeBSD: src/etc/sendmail/Makefile,v 1.27 2003/08/10 20:48:59 gshapiro Exp $
 
 M4=		m4
 CHMOD=		chmod
@@ -60,7 +60,7 @@
 
 all: ${ALL}
 
-install distribution: ${ALL}
+install distribution:
 .if defined(SENDMAIL_MC) && defined(SENDMAIL_CF)
 	@echo ">>> ERROR: Both SENDMAIL_MC and SENDMAIL_CF cannot be set"
 	@false

==== //depot/projects/ia64/gnu/usr.bin/send-pr/send-pr.sh#5 (text+ko) ====

@@ -20,7 +20,7 @@
 # along with GNU GNATS; see the file COPYING.  If not, write to
 # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 #
-# $FreeBSD: src/gnu/usr.bin/send-pr/send-pr.sh,v 1.31 2003/03/18 11:12:14 des Exp $
+# $FreeBSD: src/gnu/usr.bin/send-pr/send-pr.sh,v 1.33 2003/08/11 19:41:14 ceri Exp $
 
 # The version of this send-pr.
 VERSION=3.113

==== //depot/projects/ia64/lib/Makefile#34 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/4/93
-# $FreeBSD: src/lib/Makefile,v 1.167 2003/08/08 21:16:06 deischen Exp $
+# $FreeBSD: src/lib/Makefile,v 1.168 2003/08/09 15:29:52 deischen Exp $
 
 # To satisfy shared library or ELF linkage when only the libraries being
 # built are visible:
@@ -63,15 +63,6 @@
 _libncp=	libncp
 _libsmb=	libsmb
 _libvgl=	libvgl
-.if !defined(NOLIBPTHREAD)
-_libpthread=	libpthread
-.endif
-.endif
-
-.if ${MACHINE_ARCH} == "ia64"
-.if !defined(NOLIBPTHREAD)
-_libpthread=	libpthread
-.endif
 .endif
 
 .if ${MACHINE_ARCH} == "alpha"
@@ -82,6 +73,9 @@
 .if ${MACHINE_ARCH} == "amd64"
 _libncp=	libncp
 _libsmb=	libsmb
+.endif
+
+.if ${MACHINE_ARCH} != "powerpc" && ${MACHINE_ARCH} != "sparc64"
 .if !defined(NOLIBPTHREAD)
 _libpthread=	libpthread
 .endif

==== //depot/projects/ia64/lib/libc/alpha/sys/Makefile.inc#4 (text+ko) ====

@@ -1,11 +1,11 @@
-# $FreeBSD: src/lib/libc/alpha/sys/Makefile.inc,v 1.11 2002/05/23 23:51:56 jake Exp $
+# $FreeBSD: src/lib/libc/alpha/sys/Makefile.inc,v 1.12 2003/08/11 07:14:06 bms Exp $
 
 MDASM+=	Ovfork.S brk.S cerror.S exect.S fork.S pipe.S ptrace.S \
 	sbrk.S setlogin.S sigreturn.S
 
 # Don't generate default code for these syscalls:
 NOASM=	break.o exit.o ftruncate.o getdomainname.o getlogin.o \
-	lseek.o mlockall.o mmap.o munlockall.o openbsd_poll.o pread.o \
+	lseek.o mmap.o openbsd_poll.o pread.o \
 	pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o
 
 PSEUDO=	_getlogin.o _exit.o

==== //depot/projects/ia64/lib/libc/amd64/sys/Makefile.inc#2 (text+ko) ====

@@ -1,12 +1,12 @@
 #	from: Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp
-# $FreeBSD: src/lib/libc/amd64/sys/Makefile.inc,v 1.26 2003/04/30 18:17:07 peter Exp $
+# $FreeBSD: src/lib/libc/amd64/sys/Makefile.inc,v 1.27 2003/08/11 07:14:06 bms Exp $
 
 MDASM=	vfork.S brk.S cerror.S exect.S pipe.S ptrace.S reboot.S sbrk.S \
 	setlogin.S sigreturn.S
 
 # Don't generate default code for these syscalls:
 NOASM=	break.o exit.o ftruncate.o getdomainname.o getlogin.o \
-	lseek.o mlockall.o mmap.o munlockall.o openbsd_poll.o pread.o \
+	lseek.o mmap.o openbsd_poll.o pread.o \
 	pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o
 
 PSEUDO=	_getlogin.o _exit.o

==== //depot/projects/ia64/lib/libc/i386/sys/Makefile.inc#5 (text+ko) ====

@@ -1,5 +1,5 @@
 #	from: Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp
-# $FreeBSD: src/lib/libc/i386/sys/Makefile.inc,v 1.25 2002/11/18 09:50:55 ru Exp $
+# $FreeBSD: src/lib/libc/i386/sys/Makefile.inc,v 1.26 2003/08/11 07:14:06 bms Exp $
 
 SRCS+=	i386_clr_watch.c i386_get_ioperm.c i386_get_ldt.c i386_set_ioperm.c \
 	i386_set_ldt.c i386_set_watch.c i386_vm86.c
@@ -9,7 +9,7 @@
 
 # Don't generate default code for these syscalls:
 NOASM=	break.o exit.o ftruncate.o getdomainname.o getlogin.o \
-	lseek.o mlockall.o mmap.o munlockall.o openbsd_poll.o pread.o \
+	lseek.o mmap.o openbsd_poll.o pread.o \
 	pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o
 
 PSEUDO=	_getlogin.o _exit.o

==== //depot/projects/ia64/lib/libc/ia64/gen/fpgetmask.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/ia64/gen/fpgetmask.c,v 1.2 2002/03/22 21:52:14 obrien Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/ia64/gen/fpgetmask.c,v 1.3 2003/08/09 17:07:24 marcel Exp $");
 
 #include <sys/types.h>
 #include <ieeefp.h>
@@ -36,5 +36,5 @@
 	u_int64_t fpsr;
 
 	__asm __volatile("mov %0=ar.fpsr" : "=r" (fpsr));
-	return (fpsr & 0x1f) ^ 0x1f;
+	return (~fpsr & 0x3f);
 }

==== //depot/projects/ia64/lib/libc/ia64/gen/fpsetmask.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/ia64/gen/fpsetmask.c,v 1.2 2002/03/22 21:52:14 obrien Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/ia64/gen/fpsetmask.c,v 1.3 2003/08/09 17:07:24 marcel Exp $");
 
 #include <sys/types.h>
 #include <ieeefp.h>
@@ -37,8 +37,8 @@
 	u_int64_t oldmask;
 
 	__asm __volatile("mov %0=ar.fpsr" : "=r" (fpsr));
-	oldmask = (fpsr & 0x1f) ^ 0x1f;
-	fpsr = (fpsr & ~0x1f) | (mask ^ 0x1f);
+	oldmask = ~fpsr & 0x3f;
+	fpsr = (fpsr & ~0x3f) | (~mask & 0x3f);
 	__asm __volatile("mov ar.fpsr=%0" :: "r" (fpsr));
-	return oldmask;
+	return (oldmask);
 }

==== //depot/projects/ia64/lib/libc/ia64/sys/Makefile.inc#5 (text+ko) ====

@@ -1,11 +1,11 @@
-# $FreeBSD: src/lib/libc/ia64/sys/Makefile.inc,v 1.7 2003/08/02 00:49:36 marcel Exp $
+# $FreeBSD: src/lib/libc/ia64/sys/Makefile.inc,v 1.8 2003/08/11 07:14:06 bms Exp $
 
 MDASM+=	Ovfork.S brk.S cerror.S exect.S fork.S getcontext.S pipe.S ptrace.S \
 	sbrk.S setlogin.S sigreturn.S swapcontext.S
 
 # Don't generate default code for these syscalls:
 NOASM=	break.o exit.o ftruncate.o getdomainname.o getlogin.o \
-	lseek.o mlockall.o mmap.o munlockall.o openbsd_poll.o pread.o \
+	lseek.o mmap.o openbsd_poll.o pread.o \
 	pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o
 
 PSEUDO=	_getlogin.o _exit.o

==== //depot/projects/ia64/lib/libc/locale/Makefile.inc#15 (text+ko) ====

@@ -1,5 +1,5 @@
 #	from @(#)Makefile.inc	8.1 (Berkeley) 6/4/93
-# $FreeBSD: src/lib/libc/locale/Makefile.inc,v 1.45 2003/07/29 07:52:44 ache Exp $
+# $FreeBSD: src/lib/libc/locale/Makefile.inc,v 1.47 2003/08/10 11:34:35 tjr Exp $
 
 # locale sources
 .PATH: ${.CURDIR}/${MACHINE_ARCH}/locale ${.CURDIR}/locale
@@ -31,7 +31,7 @@
 	wcsrtombs.3 wcstod.3 wcstol.3 \
 	wctrans.3 wctype.3 wcwidth.3
 MAN+=	euc.4 utf2.4
-MAN+=	utf8.5
+MAN+=	big5.5 gb18030.5 gbk.5 mskanji.5 utf8.5
 
 MLINKS+=btowc.3 wctob.3
 MLINKS+=isdigit.3 isnumber.3

==== //depot/projects/ia64/lib/libc/locale/multibyte.3#8 (text+ko) ====

@@ -33,9 +33,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	@(#)multibyte.3	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/locale/multibyte.3,v 1.19 2003/02/06 11:04:46 charnier Exp $
+.\" $FreeBSD: src/lib/libc/locale/multibyte.3,v 1.21 2003/08/10 11:38:28 tjr Exp $
 .\"
-.Dd October 6, 2002
+.Dd August 10, 2003
 .Dt MULTIBYTE 3
 .Os
 .Sh NAME
@@ -226,6 +226,7 @@
 .Xr mbrlen 3 ,
 .Xr mbrtowc 3 ,
 .Xr mbrune 3 ,
+.Xr mbsinit 3 ,
 .Xr mbsrtowcs 3 ,
 .Xr rune 3 ,
 .Xr setlocale 3 ,
@@ -233,6 +234,10 @@
 .Xr wcsrtombs 3 ,
 .Xr euc 4 ,
 .Xr utf2 4 ,
+.Xr big5 5 ,
+.Xr gb18030 5 ,
+.Xr gbk 5 ,
+.Xr mskanji 5 ,
 .Xr utf8 5
 .Sh STANDARDS
 The

==== //depot/projects/ia64/lib/libc/powerpc/sys/Makefile.inc#2 (text+ko) ====

@@ -1,10 +1,10 @@
-# $FreeBSD: src/lib/libc/powerpc/sys/Makefile.inc,v 1.1 2002/12/04 07:25:14 grehan Exp $
+# $FreeBSD: src/lib/libc/powerpc/sys/Makefile.inc,v 1.2 2003/08/11 07:14:07 bms Exp $
 
 MDASM+=	brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S
 
 # Don't generate default code for these syscalls:
 NOASM=	break.o exit.o ftruncate.o getdomainname.o getlogin.o \
-	lseek.o mlockall.o mmap.o munlockall.o openbsd_poll.o pread.o \
+	lseek.o mmap.o openbsd_poll.o pread.o \
 	pwrite.o setdomainname.o sstk.o truncate.o uname.o yield.o
 
 PSEUDO=	_getlogin.o _exit.o

==== //depot/projects/ia64/lib/libc/sparc64/sys/Makefile.inc#8 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.8 2002/09/03 14:55:29 jake Exp $
+# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.9 2003/08/11 07:14:07 bms Exp $
 
 SRCS+=	__sparc_sigtramp_setup.c \
 	__sparc_utrap.c \
@@ -16,7 +16,7 @@
 
 # Don't generate default code for these syscalls:
 NOASM=	break.o exit.o ftruncate.o getdomainname.o getlogin.o \
-	lseek.o mlockall.o mmap.o munlockall.o openbsd_poll.o pread.o \
+	lseek.o mmap.o openbsd_poll.o pread.o \
 	pwrite.o setdomainname.o sstk.o truncate.o uname.o yield.o
 
 PSEUDO=	_getlogin.o _exit.o

==== //depot/projects/ia64/lib/libc/stdlib/random.c#4 (text+ko) ====

@@ -35,7 +35,7 @@
 static char sccsid[] = "@(#)random.c	8.2 (Berkeley) 5/19/95";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/stdlib/random.c,v 1.22 2003/02/04 11:24:08 ache Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdlib/random.c,v 1.23 2003/08/10 17:49:55 ache Exp $");
 
 #include "namespace.h"
 #include <sys/time.h>          /* for srandomdev() */
@@ -142,7 +142,11 @@
  */
 #define	MAX_TYPES	5		/* max number of types above */
 
-#define NSHUFF 100      /* to drop part of seed -> 1st value correlation */
+#ifdef  USE_WEAK_SEEDING
+#define NSHUFF 0
+#else   /* !USE_WEAK_SEEDING */
+#define NSHUFF 50       /* to drop some "seed -> 1st value" linearity */
+#endif  /* !USE_WEAK_SEEDING */
 
 static long degrees[MAX_TYPES] =	{ DEG_0, DEG_1, DEG_2, DEG_3, DEG_4 };
 static long seps [MAX_TYPES] =	{ SEP_0, SEP_1, SEP_2, SEP_3, SEP_4 };

==== //depot/projects/ia64/lib/libc/sys/Makefile.inc#16 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile.inc	8.3 (Berkeley) 10/24/94
-# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.104 2003/08/09 03:23:24 bms Exp $
+# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.105 2003/08/11 07:14:07 bms Exp $
 
 # sys sources
 .PATH: ${.CURDIR}/${MACHINE_ARCH}/sys ${.CURDIR}/sys
@@ -69,8 +69,8 @@
 	kldfind.2 kldfirstmod.2 kldload.2 kldnext.2 kldstat.2 kldsym.2 \
 	kldunload.2 kqueue.2 kse.2 ktrace.2 link.2 lio_listio.2 listen.2 \
 	lseek.2 \
-	madvise.2 mincore.2 minherit.2 mkdir.2 mkfifo.2 mknod.2 mlock.2 mmap.2 \
-	modfind.2 modnext.2 modstat.2 mount.2 \
+	madvise.2 mincore.2 minherit.2 mkdir.2 mkfifo.2 mknod.2 mlock.2 \
+	mlockall.2 mmap.2 modfind.2 modnext.2 modstat.2 mount.2 \
 	mprotect.2 msync.2 munmap.2 nanosleep.2 ntp_adjtime.2 ntp_gettime.2 \
 	nfssvc.2 open.2 pathconf.2 pipe.2 poll.2 profil.2 ptrace.2 quotactl.2 \
 	read.2 readlink.2 reboot.2 recv.2 rename.2 revoke.2 rfork.2 rmdir.2 \
@@ -121,6 +121,7 @@
 	kse.2 kse_wakeup.2 kse.2 kse_thr_interrupt.2
 MLINKS+=madvise.2 posix_madvise.2
 MLINKS+=mlock.2 munlock.2
+MLINKS+=mlockall.2 munlockall.2
 MLINKS+=modnext.2 modfnext.2
 MLINKS+=mount.2 unmount.2
 MLINKS+=pathconf.2 fpathconf.2

==== //depot/projects/ia64/lib/libc/sys/ptrace.2#7 (text+ko) ====

@@ -1,8 +1,8 @@
-.\" $FreeBSD: src/lib/libc/sys/ptrace.2,v 1.31 2002/12/19 09:40:25 ru Exp $
+.\" $FreeBSD: src/lib/libc/sys/ptrace.2,v 1.32 2003/08/11 13:13:46 iedowse Exp $
 .\"	$NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp $
 .\"
 .\" This file is in the public domain.
-.Dd January 20, 1996
+.Dd August 11, 2003
 .Dt PTRACE 2
 .Os
 .Sh NAME
@@ -162,7 +162,8 @@
 The
 .Fa data
 argument
-is not used.
+provides a signal number to be delivered to the traced process as it
+resumes execution, or 0 if no signal is to be sent.
 .It Dv PT_KILL
 The traced process terminates, as if
 .Dv PT_CONTINUE

==== //depot/projects/ia64/lib/libpthread/thread/thr_cancel.c#13 (text+ko) ====

@@ -1,6 +1,6 @@
 /*
  * David Leonard <d@openbsd.org>, 1999. Public domain.
- * $FreeBSD: src/lib/libpthread/thread/thr_cancel.c,v 1.27 2003/08/05 22:46:00 deischen Exp $
+ * $FreeBSD: src/lib/libpthread/thread/thr_cancel.c,v 1.28 2003/08/10 22:07:28 davidxu Exp $
  */
 #include <sys/errno.h>
 #include <pthread.h>
@@ -259,6 +259,8 @@
 void
 _thr_enter_cancellation_point(struct pthread *thread)
 {
+	if (!_kse_isthreaded())
+		return;
 	/* Look for a cancellation before we block: */
 	THR_SCHED_LOCK(thread, thread);
 	testcancel(thread);
@@ -269,6 +271,8 @@
 void
 _thr_leave_cancellation_point(struct pthread *thread)
 {
+	if (!_kse_isthreaded())
+		return;
 	THR_SCHED_LOCK(thread, thread);
 	thread->cancelflags &= ~THR_AT_CANCEL_POINT;
 	/* Look for a cancellation after we unblock: */

==== //depot/projects/ia64/lib/libpthread/thread/thr_fork.c#3 (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_fork.c,v 1.30 2003/04/18 05:04:15 deischen Exp $
+ * $FreeBSD: src/lib/libpthread/thread/thr_fork.c,v 1.31 2003/08/10 22:20:41 davidxu Exp $
  */
 #include <errno.h>
 #include <string.h>
@@ -37,6 +37,7 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include <pthread.h>
+#include <sys/signalvar.h>
 #include "thr_private.h"
 
 __weak_reference(_fork, fork);
@@ -44,15 +45,35 @@
 pid_t
 _fork(void)
 {
+	sigset_t sigset, oldset;
 	struct pthread *curthread;
 	pid_t ret;
 
+	if (!_kse_isthreaded())
+		return (__sys_fork());
+
 	curthread = _get_curthread();
 
+	/*
+	 * Masks all signals until we reach a safe point in
+	 * _kse_single_thread, and the signal masks will be
+	 * restored in that function, for M:N thread, all 
+	 * signals were already masked in kernel atomically,
+	 * we only need to do this for bound thread.
+	 */
+	if (curthread->attr.flags & PTHREAD_SCOPE_SYSTEM) {
+		SIGFILLSET(sigset);
+		__sys_sigprocmask(SIG_SETMASK, &sigset, &oldset);
+	}
 	/* Fork a new process: */
-	if ((ret = __sys_fork()) == 0)
+	if ((ret = __sys_fork()) == 0) {
 		/* Child process */
 		_kse_single_thread(curthread);
+		/* Kernel signal mask is restored in _kse_single_thread */
+	} else {
+		if (curthread->attr.flags & PTHREAD_SCOPE_SYSTEM)
+			__sys_sigprocmask(SIG_SETMASK, &oldset, NULL);
+	}
 
 	/* Return the process ID: */
 	return (ret);

==== //depot/projects/ia64/lib/libpthread/thread/thr_init.c#15 (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_init.c,v 1.58 2003/08/05 22:46:00 deischen Exp $
+ * $FreeBSD: src/lib/libpthread/thread/thr_init.c,v 1.59 2003/08/10 22:30:20 davidxu Exp $
  */
 
 /* Allocate space for global thread variables here: */
@@ -309,8 +309,6 @@
 	_kcb_set(_thr_initial->kse->k_kcb);
 	_tcb_set(_thr_initial->kse->k_kcb, _thr_initial->tcb);
 	_thr_initial->kse->k_flags |= KF_INITIALIZED;
-
-	_thr_rtld_init();
 }
 
 /*

==== //depot/projects/ia64/lib/libpthread/thread/thr_kern.c#29 (text+ko) ====

@@ -33,7 +33,7 @@
  *
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libpthread/thread/thr_kern.c,v 1.83 2003/08/08 22:20:59 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libpthread/thread/thr_kern.c,v 1.84 2003/08/10 22:30:20 davidxu Exp $");
 
 #include <sys/types.h>
 #include <sys/kse.h>
@@ -213,16 +213,17 @@
 	kse_critical_t crit;
 	int i;
 
-
+	if (__isthreaded) {
+		_thr_rtld_fini();
+		_thr_signal_deinit();
+	}
+	__isthreaded = 0;
 	/*
-	 * Disable upcalls and clear the threaded flag.
-	 * XXX - I don't think we need to disable upcalls after a fork().
-	 *       but it doesn't hurt.
-	 */
-	crit = _kse_critical_enter();
-	__isthreaded = 0;
+	 * Restore signal mask early, so any memory problems could
+	 * dump core.
+	 */ 
+	sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL);
 	active_threads = 1;
-	_thr_signal_deinit();
 
 	/*
 	 * Enter a loop to remove and free all threads other than
@@ -359,11 +360,18 @@
 	_kse_initial = NULL;
 	_libpthread_init(curthread);
 #else

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308120430.h7C4Uf2M005708>