From owner-p4-projects@FreeBSD.ORG Fri Apr 4 07:09:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE7DF1065673; Fri, 4 Apr 2008 07:09:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67515106566C for ; Fri, 4 Apr 2008 07:09:15 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 534F38FC2B for ; Fri, 4 Apr 2008 07:09:15 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m3479F9Q003962 for ; Fri, 4 Apr 2008 07:09:15 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m3479E2i003960 for perforce@freebsd.org; Fri, 4 Apr 2008 07:09:14 GMT (envelope-from imp@freebsd.org) Date: Fri, 4 Apr 2008 07:09:14 GMT Message-Id: <200804040709.m3479E2i003960@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 139325 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Apr 2008 07:09:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=139325 Change 139325 by imp@imp_paco-paco on 2008/04/04 07:08:57 IFC @139323 Affected files ... .. //depot/projects/arm/src/bin/ls/ls.1#4 integrate .. //depot/projects/arm/src/bin/ls/ls.c#2 integrate .. //depot/projects/arm/src/bin/ls/ls.h#2 integrate .. //depot/projects/arm/src/bin/ls/print.c#3 integrate .. //depot/projects/arm/src/bin/ls/util.c#2 integrate .. //depot/projects/arm/src/etc/rc.d/zfs#5 integrate .. //depot/projects/arm/src/games/fortune/datfiles/fortunes#19 integrate .. //depot/projects/arm/src/lib/libc/gen/err.c#3 integrate .. //depot/projects/arm/src/lib/libc/gen/msgctl.3#3 integrate .. //depot/projects/arm/src/lib/libc/include/namespace.h#4 integrate .. //depot/projects/arm/src/lib/libc/include/un-namespace.h#4 integrate .. //depot/projects/arm/src/lib/libc/sys/aio_cancel.2#2 integrate .. //depot/projects/arm/src/lib/libc/sys/aio_suspend.2#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/amd64/Makefile.inc#3 integrate .. //depot/projects/arm/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S#1 branch .. //depot/projects/arm/src/lib/libthr/arch/amd64/include/pthread_md.h#3 integrate .. //depot/projects/arm/src/lib/libthr/arch/i386/Makefile.inc#3 integrate .. //depot/projects/arm/src/lib/libthr/arch/i386/i386/_umtx_op_err.S#1 branch .. //depot/projects/arm/src/lib/libthr/arch/i386/include/pthread_md.h#3 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_affinity.c#3 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_cond.c#6 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_private.h#13 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_rtld.c#5 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_umtx.c#10 integrate .. //depot/projects/arm/src/lib/msun/src/s_fma.c#2 integrate .. //depot/projects/arm/src/lib/msun/src/s_fmal.c#3 integrate .. //depot/projects/arm/src/sbin/fsck_ffs/main.c#6 integrate .. //depot/projects/arm/src/sbin/restore/dirs.c#3 integrate .. //depot/projects/arm/src/sbin/restore/interactive.c#2 integrate .. //depot/projects/arm/src/share/mk/sys.mk#7 integrate .. //depot/projects/arm/src/sys/arm/arm/bus_space_generic.c#1 branch .. //depot/projects/arm/src/sys/arm/arm/machdep.c#11 integrate .. //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c#47 integrate .. //depot/projects/arm/src/sys/arm/include/machdep.h#3 integrate .. //depot/projects/arm/src/sys/arm/sa11x0/assabet_machdep.c#11 integrate .. //depot/projects/arm/src/sys/arm/sa11x0/files.sa11x0#3 integrate .. //depot/projects/arm/src/sys/arm/sa11x0/sa11x0_io.c#7 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/ep80219_machdep.c#8 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/files.ep80219#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/files.i80219#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/files.i80321#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/files.iq31244#2 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/iq31244_machdep.c#18 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/obio_space.c#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/i8134x/crb_machdep.c#4 integrate .. //depot/projects/arm/src/sys/arm/xscale/i8134x/obio_space.c#3 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/avila_machdep.c#15 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.avila#9 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/files.ixp425#12 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_a4x_space.c#5 integrate .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_space.c#6 integrate .. //depot/projects/arm/src/sys/conf/Makefile.arm#21 integrate .. //depot/projects/arm/src/sys/conf/NOTES#62 integrate .. //depot/projects/arm/src/sys/conf/files#88 integrate .. //depot/projects/arm/src/sys/dev/aac/aac_disk.c#4 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_80003es2lan.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_82540.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_82541.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_82542.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_82543.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_82571.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_82571.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_api.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_api.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_defines.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_hw.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_ich8lan.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_ich8lan.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_mac.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_mac.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_manage.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_nvm.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_nvm.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_osdep.c#1 branch .. //depot/projects/arm/src/sys/dev/em/e1000_osdep.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_phy.c#5 integrate .. //depot/projects/arm/src/sys/dev/em/e1000_phy.h#5 integrate .. //depot/projects/arm/src/sys/dev/em/if_em.c#45 integrate .. //depot/projects/arm/src/sys/dev/em/if_em.h#20 integrate .. //depot/projects/arm/src/sys/dev/igb/e1000_mac.c#2 integrate .. //depot/projects/arm/src/sys/dev/igb/e1000_osdep.c#1 branch .. //depot/projects/arm/src/sys/dev/igb/if_igb.c#2 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt.c#29 integrate .. //depot/projects/arm/src/sys/dev/mxge/if_mxge.c#23 integrate .. //depot/projects/arm/src/sys/kern/kern_clock.c#19 integrate .. //depot/projects/arm/src/sys/kern/kern_conf.c#15 integrate .. //depot/projects/arm/src/sys/kern/kern_cpuset.c#5 integrate .. //depot/projects/arm/src/sys/kern/kern_event.c#17 integrate .. //depot/projects/arm/src/sys/kern/kern_intr.c#19 integrate .. //depot/projects/arm/src/sys/kern/kern_timeout.c#11 integrate .. //depot/projects/arm/src/sys/kern/kern_umtx.c#21 integrate .. //depot/projects/arm/src/sys/kern/sched_ule.c#33 integrate .. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#21 integrate .. //depot/projects/arm/src/sys/kern/vfs_subr.c#45 integrate .. //depot/projects/arm/src/sys/modules/em/Makefile#7 integrate .. //depot/projects/arm/src/sys/modules/igb/Makefile#3 integrate .. //depot/projects/arm/src/sys/powerpc/include/asm.h#2 integrate .. //depot/projects/arm/src/sys/powerpc/psim/openpic_iobus.c#5 integrate .. //depot/projects/arm/src/sys/sys/callout.h#6 integrate .. //depot/projects/arm/src/sys/sys/cpuset.h#5 integrate .. //depot/projects/arm/src/tools/regression/lib/msun/Makefile#4 integrate .. //depot/projects/arm/src/tools/regression/lib/msun/test-fma.c#1 branch .. //depot/projects/arm/src/tools/regression/lib/msun/test-fma.t#1 branch .. //depot/projects/arm/src/tools/tools/mctest/Makefile#1 branch .. //depot/projects/arm/src/tools/tools/mctest/mctest.1#1 branch .. //depot/projects/arm/src/tools/tools/mctest/mctest.cc#2 integrate .. //depot/projects/arm/src/tools/tools/mctest/mctest.h#2 integrate .. //depot/projects/arm/src/usr.bin/kdump/kdump.1#3 integrate .. //depot/projects/arm/src/usr.bin/kdump/kdump.c#8 integrate .. //depot/projects/arm/src/usr.bin/ktrace/ktrace.1#4 integrate .. //depot/projects/arm/src/usr.bin/ktrace/ktrace.c#4 integrate Differences ... ==== //depot/projects/arm/src/bin/ls/ls.1#4 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" $FreeBSD: src/bin/ls/ls.1,v 1.100 2006/10/12 10:08:52 ru Exp $ +.\" $FreeBSD: src/bin/ls/ls.1,v 1.102 2008/04/04 05:55:42 ru Exp $ .\" -.Dd October 12, 2006 +.Dd April 4, 2008 .Dt LS 1 .Os .Sh NAME @@ -41,6 +41,7 @@ .Sh SYNOPSIS .Nm .Op Fl ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1 +.Op Fl D Ar format .Op Ar .Sh DESCRIPTION For each operand that names a @@ -88,6 +89,21 @@ is the numeric value of the character in octal. .It Fl C Force multi-column output; this is the default when output is to a terminal. +.It Fl D Ar format +When printing in the long +.Pq Fl l +format, use +.Ar format +to format the date and time output. +The argument +.Ar format +is a string used by +.Xr strftime 3 . +Depending on the choice of format string, this may result in a +different number of columns in the output. +This option overrides the +.Fl T +option. .It Fl F Display a slash .Pq Ql / @@ -146,12 +162,13 @@ Sort by size (largest file first) before sorting the operands in lexicographical order. .It Fl T -When used with the -.Fl l -(lowercase letter -.Dq ell ) -option, display complete time information for the file, including +When printing in the long +.Pq Fl l +format, display complete time information for the file, including month, day, hour, minute, second, and year. +The +.Fl D +option gives even more control over the output format. .It Fl U Use time when file was created for sorting or printing. .It Fl W @@ -325,7 +342,12 @@ modified, and the pathname. .Pp If the modification time of the file is more than 6 months -in the past or future, then the year of the last modification +in the past or future, and the +.Fl D +or +.Fl T +are not specified, +then the year of the last modification is displayed in place of the hour and minute fields. .Pp If the owner or group names are not a known user or group name, @@ -657,6 +679,7 @@ .Xr getfacl 1 , .Xr sort 1 , .Xr xterm 1 , +.Xr strftime 3 , .Xr termcap 5 , .Xr maclabel 7 , .Xr symlink 7 , ==== //depot/projects/arm/src/bin/ls/ls.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ls/ls.c,v 1.85 2006/03/24 17:09:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/bin/ls/ls.c,v 1.86 2008/04/04 03:57:46 grog Exp $"); #include #include @@ -125,10 +125,11 @@ static int f_singlecol; /* use single column output */ int f_size; /* list size in short listing */ int f_slash; /* similar to f_type, but only for dirs */ - int f_sortacross; /* sort across rows, not down columns */ + int f_sortacross; /* sort across rows, not down columns */ int f_statustime; /* use time of last mode change */ static int f_stream; /* stream the output, separate with commas */ static int f_timesort; /* sort by time vice name */ + char *f_timeformat; /* user-specified time format */ static int f_sizesort; int f_type; /* add type character for non-regular files */ static int f_whiteout; /* show whiteout entries */ @@ -179,7 +180,7 @@ fts_options = FTS_PHYSICAL; while ((ch = getopt(argc, argv, - "1ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx")) != -1) { + "1ABCD:FGHILPRSTUWZabcdfghiklmnopqrstuwx")) != -1) { switch (ch) { /* * The -1, -C, -x and -l options all override each other so @@ -198,6 +199,9 @@ case 'C': f_sortacross = f_longform = f_singlecol = 0; break; + case 'D': + f_timeformat = optarg; + break; case 'l': f_longform = 1; f_singlecol = 0; ==== //depot/projects/arm/src/bin/ls/ls.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * from: @(#)ls.h 8.1 (Berkeley) 5/31/93 - * $FreeBSD: src/bin/ls/ls.h,v 1.22 2006/03/24 16:38:02 jhb Exp $ + * $FreeBSD: src/bin/ls/ls.h,v 1.23 2008/04/04 03:57:46 grog Exp $ */ #define NO_PRINT 1 @@ -50,8 +50,9 @@ extern int f_sectime; /* print the real time for all files */ extern int f_size; /* list size in short listing */ extern int f_slash; /* append a '/' if the file is a directory */ -extern int f_sortacross; /* sort across rows, not down columns */ +extern int f_sortacross; /* sort across rows, not down columns */ extern int f_statustime; /* use time of last mode change */ +extern char *f_timeformat; /* user-specified time format */ extern int f_notabs; /* don't use tab-separated multi-col output */ extern int f_type; /* add type character for non-regular files */ #ifdef COLORLS ==== //depot/projects/arm/src/bin/ls/print.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.76 2006/10/18 10:58:27 ru Exp $"); +__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.77 2008/04/04 03:57:46 grog Exp $"); #include #include @@ -168,7 +168,7 @@ prevdev = sp->st_dev; } np = p->fts_pointer; - (void)printf("%s %*u %-*s %-*s ", buf, dp->s_nlink, + (void)printf("%s %*u %-*s %-*s ", buf, dp->s_nlink, sp->st_nlink, dp->s_user, np->user, dp->s_group, np->group); if (f_flags) @@ -237,7 +237,7 @@ if (chcnt) putchar('\n'); } - + void printcol(const DISPLAY *dp) { @@ -378,17 +378,20 @@ now = time(NULL); #define SIXMONTHS ((365 / 2) * 86400) - if (f_sectime) + if (f_timeformat) /* user specified format */ + format = f_timeformat; + else if (f_sectime) /* mmm dd hh:mm:ss yyyy || dd mmm hh:mm:ss yyyy */ - format = d_first ? "%e %b %T %Y " : "%b %e %T %Y "; + format = d_first ? "%e %b %T %Y" : "%b %e %T %Y"; else if (ftime + SIXMONTHS > now && ftime < now + SIXMONTHS) /* mmm dd hh:mm || dd mmm hh:mm */ - format = d_first ? "%e %b %R " : "%b %e %R "; + format = d_first ? "%e %b %R" : "%b %e %R"; else /* mmm dd yyyy || dd mmm yyyy */ - format = d_first ? "%e %b %Y " : "%b %e %Y "; + format = d_first ? "%e %b %Y" : "%b %e %Y"; strftime(longstring, sizeof(longstring), format, localtime(&ftime)); fputs(longstring, stdout); + fputc(' ', stdout); } static int @@ -625,7 +628,7 @@ snprintf(name, sizeof(name), "%s", p->fts_name); else snprintf(name, sizeof(name), "%s/%s", - p->fts_parent->fts_accpath, p->fts_name); + p->fts_parent->fts_accpath, p->fts_name); /* * We have no way to tell whether a symbolic link has an ACL since * pathconf() and acl_get_file() both follow them. They also don't ==== //depot/projects/arm/src/bin/ls/util.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ls/util.c,v 1.40 2006/03/24 16:38:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/bin/ls/util.c,v 1.41 2008/04/04 05:55:42 ru Exp $"); #include #include @@ -222,9 +222,9 @@ { (void)fprintf(stderr, #ifdef COLORLS - "usage: ls [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1]" + "usage: ls [-ABCFGHILPRSTUWZabcdfghiklmnopqrstuwx1] [-D format]" #else - "usage: ls [-ABCFHILPRSTUWZabcdfghiklmnopqrstuwx1]" + "usage: ls [-ABCFHILPRSTUWZabcdfghiklmnopqrstuwx1] [-D format]" #endif " [file ...]\n"); exit(1); ==== //depot/projects/arm/src/etc/rc.d/zfs#5 (text+ko) ==== @@ -1,11 +1,10 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/zfs,v 1.6 2008/03/19 14:44:55 pjd Exp $ +# $FreeBSD: src/etc/rc.d/zfs,v 1.7 2008/04/02 19:29:16 dougb Exp $ # # PROVIDE: zfs # REQUIRE: mountcritlocal -# BEFORE: mountcritremote . /etc/rc.subr ==== //depot/projects/arm/src/games/fortune/datfiles/fortunes#19 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.259 2008/03/31 10:28:09 ganbold Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.260 2008/04/03 10:22:56 yar Exp $ % ======================================================================= || || @@ -46075,6 +46075,12 @@ The greatest griefs are those we cause ourselves. -- Sophocles % +The greatest joy a man can know is to conquer his enemies and drive them +before him. To ride their horses and take away their possessions. To see +the faces of those who were dear to them bedewed with tears, and to clasp +their wives and daughters to his arms. + -- Chinggis (Genghis) Khan +% The greatest love is a mother's, then a dog's, then a sweetheart's. -- Polish proverb % ==== //depot/projects/arm/src/lib/libc/gen/err.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ static char sccsid[] = "@(#)err.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/err.c,v 1.14 2007/01/09 00:27:53 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/err.c,v 1.15 2008/04/03 20:36:44 imp Exp $"); #include "namespace.h" #include @@ -97,11 +97,7 @@ } void -verrc(eval, code, fmt, ap) - int eval; - int code; - const char *fmt; - va_list ap; +verrc(int eval, int code, const char *fmt, va_list ap) { if (err_file == 0) err_set_file((FILE *)0); @@ -126,10 +122,7 @@ } void -verrx(eval, fmt, ap) - int eval; - const char *fmt; - va_list ap; +verrx(int eval, const char *fmt, va_list ap) { if (err_file == 0) err_set_file((FILE *)0); @@ -154,9 +147,7 @@ } void -vwarn(fmt, ap) - const char *fmt; - va_list ap; +vwarn(const char *fmt, va_list ap) { vwarnc(errno, fmt, ap); } @@ -171,10 +162,7 @@ } void -vwarnc(code, fmt, ap) - int code; - const char *fmt; - va_list ap; +vwarnc(int code, const char *fmt, va_list ap) { if (err_file == 0) err_set_file((FILE *)0); @@ -196,9 +184,7 @@ } void -vwarnx(fmt, ap) - const char *fmt; - va_list ap; +vwarnx(const char *fmt, va_list ap) { if (err_file == 0) err_set_file((FILE *)0); ==== //depot/projects/arm/src/lib/libc/gen/msgctl.3#3 (text+ko) ==== @@ -29,9 +29,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/lib/libc/gen/msgctl.3,v 1.20 2006/08/09 18:05:44 maxim Exp $ +.\" $FreeBSD: src/lib/libc/gen/msgctl.3,v 1.21 2008/04/03 16:21:43 ru Exp $ .\"/ -.Dd November 24, 1997 +.Dd April 3, 2008 .Dt MSGCTL 3 .Os .Sh NAME @@ -65,9 +65,9 @@ struct ipc_perm msg_perm; /* msg queue permission bits */ struct msg *msg_first; /* first message in the queue */ struct msg *msg_last; /* last message in the queue */ - u_long msg_cbytes; /* number of bytes in use on the queue */ - u_long msg_qnum; /* number of msgs in the queue */ - u_long msg_qbytes; /* max # of bytes on the queue */ + msglen_t msg_cbytes; /* number of bytes in use on the queue */ + msgqnum_t msg_qnum; /* number of msgs in the queue */ + msglen_t msg_qbytes; /* max # of bytes on the queue */ pid_t msg_lspid; /* pid of last msgsnd() */ pid_t msg_lrpid; /* pid of last msgrcv() */ time_t msg_stime; /* time of last msgsnd() */ @@ -89,13 +89,13 @@ and looks like this: .Bd -literal struct ipc_perm { - ushort cuid; /* creator user id */ - ushort cgid; /* creator group id */ - ushort uid; /* user id */ - ushort gid; /* group id */ - ushort mode; /* r/w permission */ - ushort seq; /* sequence # (to generate unique msg/sem/shm id) */ - key_t key; /* user specified msg/sem/shm key */ + unsigned short cuid; /* creator user id */ + unsigned short cgid; /* creator group id */ + unsigned short uid; /* user id */ + unsigned short gid; /* group id */ + unsigned short mode; /* r/w permission */ + unsigned short seq; /* sequence # (to generate unique ipcid) */ + key_t key; /* user specified msg/sem/shm key */ }; .Ed .Pp ==== //depot/projects/arm/src/lib/libc/include/namespace.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/include/namespace.h,v 1.22 2008/03/25 15:33:00 ru Exp $ + * $FreeBSD: src/lib/libc/include/namespace.h,v 1.23 2008/04/02 08:53:18 davidxu Exp $ */ #ifndef _NAMESPACE_H_ @@ -132,6 +132,7 @@ #define pthread_detach _pthread_detach #define pthread_equal _pthread_equal #define pthread_exit _pthread_exit +#define pthread_getaffinity_np _pthread_getaffinity_np #define pthread_getconcurrency _pthread_getconcurrency #define pthread_getcpuclockid _pthread_getcpuclockid #define pthread_getprio _pthread_getprio @@ -182,6 +183,7 @@ #define pthread_rwlockattr_setpshared _pthread_rwlockattr_setpshared #define pthread_self _pthread_self #define pthread_set_name_np _pthread_set_name_np +#define pthread_setaffinity_np _pthread_setaffinity_np #define pthread_setcancelstate _pthread_setcancelstate #define pthread_setcanceltype _pthread_setcanceltype #define pthread_setconcurrency _pthread_setconcurrency ==== //depot/projects/arm/src/lib/libc/include/un-namespace.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/include/un-namespace.h,v 1.19 2008/03/25 13:28:12 ru Exp $ + * $FreeBSD: src/lib/libc/include/un-namespace.h,v 1.20 2008/04/02 08:53:18 davidxu Exp $ */ #ifndef _UN_NAMESPACE_H_ @@ -113,6 +113,7 @@ #undef pthread_detach #undef pthread_equal #undef pthread_exit +#undef pthread_getaffinity_np #undef pthread_getconcurrency #undef pthread_getcpuclockid #undef pthread_getprio @@ -163,6 +164,7 @@ #undef pthread_rwlockattr_setpshared #undef pthread_self #undef pthread_set_name_np +#undef pthread_setaffinity_np #undef pthread_setcancelstate #undef pthread_setcanceltype #undef pthread_setconcurrency ==== //depot/projects/arm/src/lib/libc/sys/aio_cancel.2#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/aio_cancel.2,v 1.22 2003/01/13 10:37:11 tjr Exp $ +.\" $FreeBSD: src/lib/libc/sys/aio_cancel.2,v 1.23 2008/04/03 02:41:54 kevlo Exp $ .\" .Dd January 19, 2000 .Dt AIO_CANCEL 2 @@ -35,7 +35,7 @@ .Sh SYNOPSIS .In aio.h .Ft int -.Fn aio_cancel "int fildes" "struct aiocb * iocb" +.Fn aio_cancel "int fildes" "struct aiocb *iocb" .Sh DESCRIPTION The .Fn aio_cancel ==== //depot/projects/arm/src/lib/libc/sys/aio_suspend.2#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/sys/aio_suspend.2,v 1.22 2004/12/23 23:45:25 keramida Exp $ +.\" $FreeBSD: src/lib/libc/sys/aio_suspend.2,v 1.23 2008/04/03 02:41:54 kevlo Exp $ .\" .Dd June 2, 1999 .Dt AIO_SUSPEND 2 @@ -35,7 +35,7 @@ .Sh SYNOPSIS .In aio.h .Ft int -.Fn aio_suspend "const struct aiocb * const iocbs[]" "int niocb" "const struct timespec * timeout" +.Fn aio_suspend "const struct aiocb *const iocbs[]" "int niocb" "const struct timespec *timeout" .Sh DESCRIPTION The .Fn aio_suspend ==== //depot/projects/arm/src/lib/libthr/arch/amd64/Makefile.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ -#$FreeBSD: src/lib/libthr/arch/amd64/Makefile.inc,v 1.3 2008/02/13 05:25:42 obrien Exp $ +#$FreeBSD: src/lib/libthr/arch/amd64/Makefile.inc,v 1.4 2008/04/02 07:41:23 davidxu Exp $ .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} -SRCS+= pthread_md.c +SRCS+= pthread_md.c _umtx_op_err.S ==== //depot/projects/arm/src/lib/libthr/arch/amd64/include/pthread_md.h#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/arch/amd64/include/pthread_md.h,v 1.4 2006/12/15 11:52:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/arch/amd64/include/pthread_md.h,v 1.5 2008/04/02 07:41:24 davidxu Exp $ */ /* @@ -97,4 +97,7 @@ { return (TCB_GET64(tcb_thread)); } + +#define HAS__UMTX_OP_ERR 1 + #endif ==== //depot/projects/arm/src/lib/libthr/arch/i386/Makefile.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/lib/libthr/arch/i386/Makefile.inc,v 1.3 2008/02/13 05:25:43 obrien Exp $ +# $FreeBSD: src/lib/libthr/arch/i386/Makefile.inc,v 1.4 2008/04/02 07:41:24 davidxu Exp $ .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/${MACHINE_ARCH} -SRCS+= pthread_md.c +SRCS+= pthread_md.c _umtx_op_err.S ==== //depot/projects/arm/src/lib/libthr/arch/i386/include/pthread_md.h#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/arch/i386/include/pthread_md.h,v 1.8 2006/12/15 11:52:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/arch/i386/include/pthread_md.h,v 1.9 2008/04/02 07:41:24 davidxu Exp $ */ /* @@ -102,4 +102,7 @@ { return (TCB_GET32(tcb_thread)); } + +#define HAS__UMTX_OP_ERR 1 + #endif ==== //depot/projects/arm/src/lib/libthr/thread/thr_affinity.c#3 (text+ko) ==== @@ -23,12 +23,12 @@ * (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/lib/libthr/thread/thr_affinity.c,v 1.2 2008/03/19 06:38:21 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_affinity.c,v 1.3 2008/04/02 11:41:12 davidxu Exp $ * */ #include "namespace.h" -#include +#include #include #include #include "un-namespace.h" ==== //depot/projects/arm/src/lib/libthr/thread/thr_cond.c#6 (text+ko) ==== @@ -23,7 +23,7 @@ * (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/lib/libthr/thread/thr_cond.c,v 1.24 2008/03/31 02:55:49 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_cond.c,v 1.25 2008/04/02 08:33:42 davidxu Exp $ */ #include "namespace.h" @@ -290,56 +290,3 @@ return (cond_signal_common(cond, 1)); } - -int -_pthread_cond_wait_unlocked(pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime) -{ - struct pthread *curthread = _get_curthread(); - struct timespec ts, ts2, *tsp; - pthread_cond_t cv; - int ret; - - cv = *cond; - THR_UMUTEX_LOCK(curthread, &cv->c_lock); - _pthread_mutex_unlock(mutex); - - if (abstime != NULL) { - clock_gettime(cv->c_clockid, &ts); - TIMESPEC_SUB(&ts2, abstime, &ts); - tsp = &ts2; - } else - tsp = NULL; - - ret = _thr_ucond_wait(&cv->c_kerncv, &cv->c_lock, tsp, 0); - if (ret == EINTR) - ret = 0; - return (ret); -} - -int -_pthread_cond_broadcast_unlock(pthread_cond_t *cond, pthread_mutex_t *mutex, int broadcast) -{ - struct pthread *curthread = _get_curthread(); - pthread_cond_t cv; - int ret = 0; - - /* - * If the condition variable is statically initialized, perform dynamic - * initialization. - */ - if (__predict_false(*cond == NULL && - (ret = init_static(curthread, cond)) != 0)) - return (ret); - - cv = *cond; - THR_UMUTEX_LOCK(curthread, &cv->c_lock); - _pthread_mutex_unlock(mutex); - if (!broadcast) - ret = _thr_ucond_signal(&cv->c_kerncv); - else - ret = _thr_ucond_broadcast(&cv->c_kerncv); - THR_UMUTEX_UNLOCK(curthread, &cv->c_lock); - return (ret); -} - ==== //depot/projects/arm/src/lib/libthr/thread/thr_private.h#13 (text+ko) ==== @@ -26,7 +26,7 @@ * (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/lib/libthr/thread/thr_private.h,v 1.87 2008/04/02 04:32:31 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.92 2008/04/03 02:47:35 davidxu Exp $ */ #ifndef _THR_PRIVATE_H @@ -460,8 +460,10 @@ (thrd)->critical_count++ #define THR_CRITICAL_LEAVE(thrd) \ - (thrd)->critical_count--; \ - _thr_ast(thrd); + do { \ + (thrd)->critical_count--; \ + _thr_ast(thrd); \ + } while (0) #define THR_UMUTEX_TRYLOCK(thrd, lck) \ _thr_umutex_trylock((lck), TID(thrd)) @@ -668,10 +670,6 @@ void _thread_bp_create(void); void _thread_bp_death(void); int _sched_yield(void); -int _pthread_getaffinity_np(pthread_t, size_t, cpuset_t *); -int _pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); -int _pthread_cond_wait_unlocked(pthread_cond_t *, pthread_mutex_t *, const struct timespec *) __hidden; -int _pthread_cond_broadcast_unlock(pthread_cond_t *, pthread_mutex_t *, int broadcast); /* #include */ #ifdef _SYS_FCNTL_H_ @@ -709,6 +707,8 @@ void __sys_exit(int); #endif +int _umtx_op_err(void *, int op, u_long, void *, void *) __hidden; + static inline int _thr_isthreaded(void) { ==== //depot/projects/arm/src/lib/libthr/thread/thr_rtld.c#5 (text) ==== @@ -23,7 +23,7 @@ * (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/lib/libthr/thread/thr_rtld.c,v 1.6 2008/03/21 02:31:55 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.7 2008/04/02 07:41:24 davidxu Exp $ * */ @@ -219,7 +219,7 @@ curthread = _get_curthread(); /* force to resolve _umtx_op PLT */ - _umtx_op((struct umtx *)&dummy, UMTX_OP_WAKE, 1, 0, 0); + _umtx_op_err((struct umtx *)&dummy, UMTX_OP_WAKE, 1, 0, 0); /* force to resolve errno() PLT */ __error(); ==== //depot/projects/arm/src/lib/libthr/thread/thr_umtx.c#10 (text+ko) ==== @@ -23,13 +23,22 @@ * (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/lib/libthr/thread/thr_umtx.c,v 1.14 2008/04/02 04:32:31 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_umtx.c,v 1.15 2008/04/02 07:41:24 davidxu Exp $ * */ #include "thr_private.h" #include "thr_umtx.h" +#ifndef HAS__UMTX_OP_ERR +int _umtx_op_err(void *obj, int op, u_long val, void *uaddr, void *uaddr2) +{ + if (_umtx_op(obj, op, val, uaddr, uaddr2) == -1) + return (errno); + return (0); +} +#endif + void _thr_umutex_init(struct umutex *mtx) { @@ -41,9 +50,7 @@ int __thr_umutex_lock(struct umutex *mtx) { - if (_umtx_op(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, 0) != -1) - return 0; - return (errno); + return _umtx_op_err(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, 0); } int @@ -53,35 +60,27 @@ if (timeout && (timeout->tv_sec < 0 || (timeout->tv_sec == 0 && timeout->tv_nsec <= 0))) return (ETIMEDOUT); - if (_umtx_op(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, - __DECONST(void *, timeout)) != -1) - return (0); - return (errno); + return _umtx_op_err(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, + __DECONST(void *, timeout)); } int __thr_umutex_unlock(struct umutex *mtx) { - if (_umtx_op(mtx, UMTX_OP_MUTEX_UNLOCK, 0, 0, 0) != -1) - return (0); - return (errno); + return _umtx_op_err(mtx, UMTX_OP_MUTEX_UNLOCK, 0, 0, 0); } int __thr_umutex_trylock(struct umutex *mtx) { - if (_umtx_op(mtx, UMTX_OP_MUTEX_TRYLOCK, 0, 0, 0) != -1) - return (0); - return (errno); + return _umtx_op_err(mtx, UMTX_OP_MUTEX_TRYLOCK, 0, 0, 0); } int __thr_umutex_set_ceiling(struct umutex *mtx, uint32_t ceiling, uint32_t *oldceiling) { - if (_umtx_op(mtx, UMTX_OP_SET_CEILING, ceiling, oldceiling, 0) != -1) - return (0); - return (errno); + return _umtx_op_err(mtx, UMTX_OP_SET_CEILING, ceiling, oldceiling, 0); } int @@ -90,10 +89,8 @@ if (timeout && (timeout->tv_sec < 0 || (timeout->tv_sec == 0 && timeout->tv_nsec <= 0))) return (ETIMEDOUT); - if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT, id, 0, - __DECONST(void*, timeout)) != -1) - return (0); - return (errno); + return _umtx_op_err(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT, id, 0, + __DECONST(void*, timeout)); } int @@ -102,19 +99,15 @@ if (timeout && (timeout->tv_sec < 0 || (timeout->tv_sec == 0 && timeout->tv_nsec <= 0))) return (ETIMEDOUT); - if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT_UINT, id, 0, - __DECONST(void*, timeout)) != -1) - return (0); - return (errno); + return _umtx_op_err(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT_UINT, id, 0, + __DECONST(void*, timeout)); } int _thr_umtx_wake(volatile void *mtx, int nr_wakeup) { - if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAKE, - nr_wakeup, 0, 0) != -1) - return (0); - return (errno); + return _umtx_op_err(__DEVOLATILE(void *, mtx), UMTX_OP_WAKE, + nr_wakeup, 0, 0); } void @@ -132,12 +125,9 @@ __thr_umutex_unlock(m); return (ETIMEDOUT); } - if (_umtx_op(cv, UMTX_OP_CV_WAIT, + return _umtx_op_err(cv, UMTX_OP_CV_WAIT, check_unparking ? UMTX_CHECK_UNPARKING : 0, - m, __DECONST(void*, timeout)) != -1) { - return (0); - } - return (errno); + m, __DECONST(void*, timeout)); } int @@ -145,9 +135,7 @@ { if (!cv->c_has_waiters) return (0); - if (_umtx_op(cv, UMTX_OP_CV_SIGNAL, 0, NULL, NULL) != -1) - return (0); - return (errno); + return _umtx_op_err(cv, UMTX_OP_CV_SIGNAL, 0, NULL, NULL); } int @@ -155,31 +143,23 @@ { if (!cv->c_has_waiters) return (0); - if (_umtx_op(cv, UMTX_OP_CV_BROADCAST, 0, NULL, NULL) != -1) - return (0); - return (errno); + return _umtx_op_err(cv, UMTX_OP_CV_BROADCAST, 0, NULL, NULL); } int __thr_rwlock_rdlock(struct urwlock *rwlock, int flags, struct timespec *tsp) { - if (_umtx_op(rwlock, UMTX_OP_RW_RDLOCK, flags, NULL, tsp) != -1) - return (0); - return (errno); + return _umtx_op_err(rwlock, UMTX_OP_RW_RDLOCK, flags, NULL, tsp); } int __thr_rwlock_wrlock(struct urwlock *rwlock, struct timespec *tsp) { - if (_umtx_op(rwlock, UMTX_OP_RW_WRLOCK, 0, NULL, tsp) != -1) - return (0); - return (errno); + return _umtx_op_err(rwlock, UMTX_OP_RW_WRLOCK, 0, NULL, tsp); >>> TRUNCATED FOR MAIL (1000 lines) <<<