PERFORCE change 165911 for review
Edward Tomasz Napierala
trasz at FreeBSD.org
Fri Jul 10 19:12:17 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=165911
Change 165911 by trasz at trasz_victim on 2009/07/10 19:12:12
IFC.
Affected files ...
.. //depot/projects/soc2009/trasz_limits/MAINTAINERS#3 integrate
.. //depot/projects/soc2009/trasz_limits/bin/ps/ps.1#3 integrate
.. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/head/thread.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.include.dist#4 integrate
.. //depot/projects/soc2009/trasz_limits/include/Makefile#4 integrate
.. //depot/projects/soc2009/trasz_limits/include/unistd.h#3 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Makefile.inc#4 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#6 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libc/sys/execve.2#2 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libc/sys/pathconf.2#3 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libcam/Makefile#2 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libthr/thread/thr_rtld.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libthr/thread/thr_rwlock.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10_desc.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10_io.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sbin/camcontrol/camcontrol.8#2 integrate
.. //depot/projects/soc2009/trasz_limits/sbin/camcontrol/camcontrol.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/share/man/man4/Makefile#6 integrate
.. //depot/projects/soc2009/trasz_limits/share/man/man4/ahci.4#1 branch
.. //depot/projects/soc2009/trasz_limits/share/man/man4/pcm.4#4 integrate
.. //depot/projects/soc2009/trasz_limits/share/man/man5/procfs.5#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/cpu_switch.S#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/exception.S#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/genassym.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/io_apic.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/machdep.c#6 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/msi.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/pmap.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/sys_machdep.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/amd64/vm_machdep.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/ia32/ia32_exception.S#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/ia32/ia32_reg.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/ia32/ia32_signal.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/include/param.h#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/include/pcb.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/amd64/linux32/linux32_sysvec.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/arm/include/param.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/bsm/audit_kevents.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_all.c#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_all.h#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_da.c#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/cam/ata/ata_xpt.c#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/cam/cam.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/cam.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/cam_ccb.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/cam_periph.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt_internal.h#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/cam/cam_xpt_periph.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_all.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_cd.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_ch.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_da.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_pass.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_pt.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_sa.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_ses.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_sg.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/cam/scsi/scsi_xpt.c#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_proto.h#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscall.h#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_syscalls.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/freebsd32/syscalls.master#6 integrate
.. //depot/projects/soc2009/trasz_limits/sys/compat/svr4/svr4_stat.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/conf/files#9 integrate
.. //depot/projects/soc2009/trasz_limits/sys/conf/newvers.sh#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/advansys/advansys.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/advansys/advlib.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ahci/ahci.c#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/dev/ahci/ahci.h#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/dev/aic7xxx/aic79xx_osm.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/aic7xxx/aic7xxx_osm.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/amd/amd.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ata/atapi-cam.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ata/atapi-cd.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-ahci.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ata/chipsets/ata-nvidia.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ah_osdep.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ah_osdep.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ciss/ciss.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ciss/cissvar.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/cxgb/cxgb_sge.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/drm/drm_pciids.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/drm/r600_cp.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/drm/radeon_drv.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/e1000/e1000_82542.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/ipw/if_ipw.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/isp/isp_freebsd.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/iwi/if_iwi.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/iwn/if_iwn.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/mfi/mfi.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/mfi/mfivar.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/mlx/mlx.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/mlx/mlxvar.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/mpt/mpt.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/mpt/mpt_pci.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwl.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/mwl/if_mwlvar.h#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/sound/pcm/feeder_rate.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/trm/trm.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/wpi/if_wpi.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/dev/xl/if_xl.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/fs/fifofs/fifo_vnops.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/fs/nfs/nfs_var.h#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clrpcops.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/fs/nfsclient/nfs_clstate.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/geom/geom_dev.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/geom/part/g_part.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/geom/part/g_part_if.m#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/i386/i386/io_apic.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/i386/i386/msi.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/i386/i386/pmap.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/i386/ibcs2/ibcs2_misc.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/i386/include/param.h#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/i386/xen/pmap.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/ia64/include/param.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/init_sysent.c#7 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#9 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#15 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/subr_param.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/sys_pipe.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.c#6 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/syscalls.master#6 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/systrace_args.c#6 edit
.. //depot/projects/soc2009/trasz_limits/sys/kern/tty.c#7 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/tty_pts.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/uipc_socket.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/kern/vfs_syscalls.c#6 integrate
.. //depot/projects/soc2009/trasz_limits/sys/mips/include/param.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/modules/Makefile#6 integrate
.. //depot/projects/soc2009/trasz_limits/sys/modules/ahci/Makefile#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/modules/cam/Makefile#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/modules/geom/geom_label/Makefile#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/modules/wlan/Makefile#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211.c#6 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_action.c#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_action.h#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_adhoc.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ageq.c#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ageq.h#1 branch
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_freebsd.h#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_hostap.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ht.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ht.h#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_ioctl.h#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_node.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_node.h#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_sta.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_var.h#6 integrate
.. //depot/projects/soc2009/trasz_limits/sys/net80211/ieee80211_wds.c#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/powerpc/include/param.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sparc64/include/param.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sun4v/include/param.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/disk.h#2 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#22 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/namei.h#3 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/socketvar.h#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/syscall.h#6 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/syscall.mk#6 edit
.. //depot/projects/soc2009/trasz_limits/sys/sys/syscallsubr.h#4 integrate
.. //depot/projects/soc2009/trasz_limits/sys/sys/sysproto.h#6 edit
.. //depot/projects/soc2009/trasz_limits/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate
.. //depot/projects/soc2009/trasz_limits/tools/regression/usr.bin/jot/regress.dddd.out#1 branch
.. //depot/projects/soc2009/trasz_limits/tools/regression/usr.bin/jot/regress.sh#2 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/cpio/cmdline.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/cpio/test/test_owner_parse.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/fstat/fstat.1#2 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/jot/jot.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/netstat/netstat.1#3 integrate
.. //depot/projects/soc2009/trasz_limits/usr.bin/sockstat/sockstat.1#2 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/jail/jail.8#5 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/jls/jls.8#3 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/jls/jls.c#5 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/pkg_install/add/perform.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/ppp/ppp.8.m4#2 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/dispatch.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/install.c#2 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/menus.c#3 integrate
.. //depot/projects/soc2009/trasz_limits/usr.sbin/sysinstall/sysinstall.h#3 integrate
Differences ...
==== //depot/projects/soc2009/trasz_limits/MAINTAINERS#3 (text+ko) ====
@@ -1,4 +1,4 @@
-$FreeBSD: src/MAINTAINERS,v 1.153 2009/06/24 17:23:10 imp Exp $
+$FreeBSD: src/MAINTAINERS,v 1.154 2009/07/06 11:46:18 flz Exp $
Please note that the content of this file is strictly advisory.
No locks listed here are valid. The only strict review requirements
@@ -111,7 +111,7 @@
rpc alfred Pre-commit review requested.
xfs kan at FreeBSD.org,rodrigc at FreeBSD.org,cattelan at xfs.org
Pre-commit review preferred.
-pkg_install krion Pre-commit review or approval from portmgr@ requested.
+pkg_install portmgr Pre-commit review or approval from portmgr@ requested.
linux emul emulation Please discuss changes here.
bs{diff,patch} cperciva Pre-commit review requested.
portsnap cperciva Pre-commit review requested.
@@ -123,7 +123,6 @@
usr.bin/bluetooth emax Pre-commit review preferred.
usr.sbin/bluetooth emax Pre-commit review preferred.
gnu/usr.bin/send-pr bugmaster Pre-commit review requested.
-BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports.
ncurses rafan Heads-up appreciated, try not to break it.
Following are the entries from the Makefiles, and a few other sources.
==== //depot/projects/soc2009/trasz_limits/bin/ps/ps.1#3 (text+ko) ====
@@ -27,9 +27,9 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
-.\" $FreeBSD: src/bin/ps/ps.1,v 1.91 2009/05/17 04:00:43 brian Exp $
+.\" $FreeBSD: src/bin/ps/ps.1,v 1.92 2009/07/09 16:40:00 trasz Exp $
.\"
-.Dd May 16, 2009
+.Dd July 9, 2009
.Dt PS 1
.Os
.Sh NAME
@@ -637,6 +637,7 @@
.Xr kill 1 ,
.Xr pgrep 1 ,
.Xr pkill 1 ,
+.Xr procstat 1 ,
.Xr w 1 ,
.Xr kvm 3 ,
.Xr strftime 3 ,
==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/head/thread.h#2 (text+ko) ====
@@ -53,7 +53,6 @@
#define mutex_lock(l) pthread_mutex_lock(l)
#define mutex_trylock(l) pthread_mutex_trylock(l)
#define mutex_unlock(l) pthread_mutex_unlock(l)
-#define mutex_owned(l) pthread_mutex_isowned_np(l)
#define rwlock_init(l,f,a) pthread_rwlock_init(l,NULL)
#define rwlock_destroy(l) pthread_rwlock_destroy(l)
#define rw_rdlock(l) pthread_rwlock_rdlock(l)
==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c#2 (text+ko) ====
@@ -115,6 +115,14 @@
mp->initialized = B_FALSE;
}
+int
+zmutex_owned(kmutex_t *mp)
+{
+ ASSERT(mp->initialized == B_TRUE);
+
+ return (mp->m_owner == curthread);
+}
+
void
mutex_enter(kmutex_t *mp)
{
==== //depot/projects/soc2009/trasz_limits/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h#2 (text+ko) ====
@@ -237,9 +237,11 @@
#define mutex_init(mp, b, c, d) zmutex_init((kmutex_t *)(mp))
#define mutex_destroy(mp) zmutex_destroy((kmutex_t *)(mp))
+#define mutex_owned(mp) zmutex_owned((kmutex_t *)(mp))
extern void zmutex_init(kmutex_t *mp);
extern void zmutex_destroy(kmutex_t *mp);
+extern int zmutex_owned(kmutex_t *mp);
extern void mutex_enter(kmutex_t *mp);
extern void mutex_exit(kmutex_t *mp);
extern int mutex_tryenter(kmutex_t *mp);
==== //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.include.dist#4 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.130 2009/05/27 16:16:56 thompsa Exp $
+# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.131 2009/07/10 08:18:08 scottl Exp $
#
# Please see the file src/etc/mtree/README before making changes to this file.
#
@@ -78,6 +78,8 @@
..
..
cam
+ ata
+ ..
scsi
..
..
==== //depot/projects/soc2009/trasz_limits/include/Makefile#4 (text+ko) ====
@@ -1,5 +1,5 @@
# @(#)Makefile 8.2 (Berkeley) 1/4/94
-# $FreeBSD: src/include/Makefile,v 1.289 2009/05/27 16:16:56 thompsa Exp $
+# $FreeBSD: src/include/Makefile,v 1.290 2009/07/10 08:18:08 scottl Exp $
#
# Doing a "make install" builds /usr/include.
@@ -38,7 +38,7 @@
nfs nfsclient nfsserver \
sys vm
-LSUBDIRS= cam/scsi \
+LSUBDIRS= cam/ata cam/scsi \
dev/acpica dev/an dev/bktr dev/firewire dev/hwpmc \
dev/ic dev/iicbus ${_dev_ieee488} dev/lmc dev/ofw \
dev/pbio ${_dev_powermac_nvram} dev/ppbus dev/smbus \
==== //depot/projects/soc2009/trasz_limits/include/unistd.h#3 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)unistd.h 8.12 (Berkeley) 4/27/95
- * $FreeBSD: src/include/unistd.h,v 1.94 2009/06/15 20:38:55 jhb Exp $
+ * $FreeBSD: src/include/unistd.h,v 1.95 2009/07/08 15:23:18 trasz Exp $
*/
#ifndef _UNISTD_H_
@@ -513,6 +513,7 @@
int iruserok(unsigned long, int, const char *, const char *);
int iruserok_sa(const void *, int, int, const char *, const char *);
int issetugid(void);
+long lpathconf(const char *, int);
#ifndef _MKDTEMP_DECLARED
char *mkdtemp(char *);
#define _MKDTEMP_DECLARED
==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/Makefile.inc#4 (text+ko) ====
@@ -1,5 +1,5 @@
# @(#)Makefile.inc 8.3 (Berkeley) 10/24/94
-# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.140 2009/06/24 21:10:52 jhb Exp $
+# $FreeBSD: src/lib/libc/sys/Makefile.inc,v 1.141 2009/07/08 15:23:18 trasz Exp $
# sys sources
.PATH: ${.CURDIR}/${MACHINE_ARCH}/sys ${.CURDIR}/sys
@@ -159,6 +159,7 @@
MLINKS+=ntp_adjtime.2 ntp_gettime.2
MLINKS+=open.2 openat.2
MLINKS+=pathconf.2 fpathconf.2
+MLINKS+=pathconf.2 lpathconf.2
MLINKS+=read.2 pread.2 read.2 preadv.2 read.2 readv.2
MLINKS+=readlink.2 readlinkat.2
MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#6 (text) ====
@@ -1,5 +1,5 @@
/*
- * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.26 2009/06/29 01:33:59 kan Exp $
+ * $FreeBSD: src/lib/libc/sys/Symbol.map,v 1.27 2009/07/08 15:23:18 trasz Exp $
*/
/*
@@ -346,6 +346,7 @@
jail_set;
jail_remove;
linkat;
+ lpathconf;
mkdirat;
mkfifoat;
mknodat;
==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/execve.2#2 (text+ko) ====
@@ -26,7 +26,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)execve.2 8.5 (Berkeley) 6/1/94
-.\" $FreeBSD: src/lib/libc/sys/execve.2,v 1.42 2008/08/26 10:53:32 kib Exp $
+.\" $FreeBSD: src/lib/libc/sys/execve.2,v 1.43 2009/07/05 20:20:09 pjd Exp $
.\"
.Dd April 10, 2008
.Dt EXECVE 2
@@ -220,13 +220,11 @@
.Fn fexecve ,
the file descriptor
.Fa fd
-need not have been
-opened with the
+need not have been opened with the
.Dv O_EXEC
flag.
-However, if the file to be executed denies read and write
-permission for the process preparing to do the exec, the only way to
-provide the
+However, if the file to be executed denies read permission for the process
+preparing to do the exec, the only way to provide the
.Fa fd
to
.Fn fexecve
@@ -234,6 +232,7 @@
.Dv O_EXEC
flag when opening
.Fa fd .
+Note that the file to be executed can not be open for writing.
.Sh RETURN VALUES
As the
.Fn execve
@@ -277,7 +276,7 @@
permission, but has an invalid magic number in its header.
.It Bq Er ETXTBSY
The new process file is a pure procedure (shared text)
-file that is currently open for writing or reading by some process.
+file that is currently open for writing by some process.
.It Bq Er ENOMEM
The new process requires more virtual memory than
is allowed by the imposed maximum
==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/pathconf.2#3 (text+ko) ====
@@ -26,13 +26,14 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)pathconf.2 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/sys/pathconf.2,v 1.23 2009/06/25 12:53:50 trasz Exp $
+.\" $FreeBSD: src/lib/libc/sys/pathconf.2,v 1.24 2009/07/08 15:23:18 trasz Exp $
.\"
-.Dd June 25, 2009
+.Dd July 7, 2009
.Dt PATHCONF 2
.Os
.Sh NAME
.Nm pathconf ,
+.Nm lpathconf ,
.Nm fpathconf
.Nd get configurable pathname variables
.Sh LIBRARY
@@ -42,10 +43,13 @@
.Ft long
.Fn pathconf "const char *path" "int name"
.Ft long
+.Fn lpathconf "const char *path" "int name"
+.Ft long
.Fn fpathconf "int fd" "int name"
.Sh DESCRIPTION
The
-.Fn pathconf
+.Fn pathconf ,
+.Fn lpathconf
and
.Fn fpathconf
system calls provide a method for applications to determine the current
@@ -53,7 +57,9 @@
with a pathname or file descriptor.
.Pp
For
-.Fn pathconf ,
+.Fn pathconf
+and
+.Fn lpathconf ,
the
.Fa path
argument is the name of a file or directory.
@@ -68,6 +74,18 @@
Symbolic constants for each name value are found in the include file
.Li <unistd.h> .
.Pp
+The
+.Fn lpathconf
+system call is like
+.Fn pathconf
+except in the case where the named file is a symbolic link,
+in which case
+.Fn lpathconf
+returns information about the link,
+while
+.Fn pathconf
+returns information about the file the link references.
+.Pp
The available values are as follows:
.Pp
.Bl -tag -width 6n
@@ -239,3 +257,7 @@
.Fn fpathconf
system calls first appeared in
.Bx 4.4 .
+The
+.Fn lpathconf
+system call first appeared in
+.Fx 8.0 .
==== //depot/projects/soc2009/trasz_limits/lib/libcam/Makefile#2 (text+ko) ====
@@ -1,8 +1,9 @@
-# $FreeBSD: src/lib/libcam/Makefile,v 1.12 2004/02/05 22:44:22 ru Exp $
+# $FreeBSD: src/lib/libcam/Makefile,v 1.13 2009/07/10 08:18:08 scottl Exp $
LIB= cam
SHLIBDIR?= /lib
-SRCS= camlib.c scsi_cmdparse.c scsi_all.c scsi_da.c scsi_sa.c cam.c
+SRCS= camlib.c scsi_cmdparse.c scsi_all.c scsi_da.c scsi_sa.c cam.c \
+ ata_all.c
INCS= camlib.h
DPADD= ${LIBSBUF}
@@ -34,7 +35,8 @@
cam_cdbparse.3 csio_encode_visit.3 \
cam_cdbparse.3 buff_encode_visit.3
-.PATH: ${.CURDIR}/../../sys/cam/scsi ${.CURDIR}/../../sys/cam
+.PATH: ${.CURDIR}/../../sys/cam/scsi ${.CURDIR}/../../sys/cam/ata \
+ ${.CURDIR}/../../sys/cam
SDIR= ${.CURDIR}/../../sys
CFLAGS+= -I${.CURDIR} -I${SDIR}
==== //depot/projects/soc2009/trasz_limits/lib/libthr/thread/thr_rtld.c#2 (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.11 2009/04/19 23:02:50 rwatson Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.12 2009/07/06 09:31:04 attilio Exp $
*
*/
@@ -114,6 +114,7 @@
THR_CRITICAL_ENTER(curthread);
while (_thr_rwlock_rdlock(&l->lock, 0, NULL) != 0)
;
+ curthread->rdlock_count++;
RESTORE_ERRNO();
}
@@ -148,6 +149,7 @@
state = l->lock.rw_state;
if (_thr_rwlock_unlock(&l->lock) == 0) {
+ curthread->rdlock_count--;
if ((state & URWLOCK_WRITE_OWNER) == 0) {
THR_CRITICAL_LEAVE(curthread);
} else {
==== //depot/projects/soc2009/trasz_limits/lib/libthr/thread/thr_rwlock.c#2 (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/libthr/thread/thr_rwlock.c,v 1.15 2008/04/14 08:08:40 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_rwlock.c,v 1.16 2009/07/06 09:31:04 attilio Exp $
*/
#include <errno.h>
@@ -177,10 +177,11 @@
/* if interrupted, try to lock it in userland again. */
if (_thr_rwlock_tryrdlock(&prwlock->lock, flags) == 0) {
ret = 0;
- curthread->rdlock_count++;
break;
}
}
+ if (ret == 0)
+ curthread->rdlock_count++;
return (ret);
}
==== //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.h#2 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb.h,v 1.7 2009/06/23 01:04:58 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb.h,v 1.8 2009/07/10 14:15:53 thompsa Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
@@ -27,14 +27,16 @@
#ifndef __LIBUSB_H__
#define __LIBUSB_H__
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/endian.h>
+#include <sys/queue.h>
+
#include <stdint.h>
#include <time.h>
#include <string.h>
#include <pthread.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/endian.h>
#ifdef __cplusplus
extern "C" {
@@ -44,10 +46,6 @@
#endif
-struct list_head {
- struct list_head *prev, *next;
-};
-
/* libusb enums */
enum libusb_class_code {
@@ -183,6 +181,33 @@
LIBUSB_DEBUG_TRANSFER=2,
};
+/* internal structures */
+
+typedef struct libusb_pollfd {
+ int fd;
+ short events;
+} libusb_pollfd;
+
+struct usb_pollfd {
+ TAILQ_ENTRY(usb_pollfd) list;
+ struct libusb_pollfd pollfd;
+};
+
+struct usb_transfer {
+ TAILQ_ENTRY(usb_transfer) list;
+ int num_iso_packets;
+ struct timeval timeout;
+ int transferred;
+ uint8_t flags;
+};
+
+struct usb_ep_tr {
+ TAILQ_ENTRY(usb_ep_tr) list;
+ uint8_t addr;
+ uint8_t idx;
+ uint8_t flags;
+ void *os_priv;
+};
/* libusb structures */
typedef void (*libusb_pollfd_added_cb) (int fd, short events, void *user_data);
@@ -194,16 +219,16 @@
int ctrl_pipe[2];
- struct list_head usb_devs;
+ TAILQ_HEAD(usb_devs_list, libusb_device) usb_devs;
pthread_mutex_t usb_devs_lock;
- struct list_head open_devs;
+ TAILQ_HEAD(open_devs_list, libusb_device_handle) open_devs;
pthread_mutex_t open_devs_lock;
- struct list_head flying_transfers;
+ TAILQ_HEAD(flying_transfers_list, usb_transfer) flying_transfers;
pthread_mutex_t flying_transfers_lock;
- struct list_head pollfds;
+ TAILQ_HEAD(pollfds_list, usb_pollfd) pollfds;
pthread_mutex_t pollfds_lock;
unsigned int pollfd_modify;
@@ -230,7 +255,7 @@
uint8_t device_address;
uint8_t num_configurations;
- struct list_head list;
+ TAILQ_ENTRY(libusb_device) list;
unsigned long session_data;
void *os_priv;
} libusb_device;
@@ -239,9 +264,10 @@
pthread_mutex_t lock;
unsigned long claimed_interfaces;
- struct list_head list;
+ TAILQ_ENTRY(libusb_device_handle) list;
struct libusb_device *dev;
void *os_priv;
+ TAILQ_HEAD(ep_list, usb_ep_tr) ep_list;
} libusb_device_handle;
typedef struct libusb_device_descriptor {
@@ -343,11 +369,6 @@
struct libusb_iso_packet_descriptor iso_packet_desc[0];
} libusb_transfer __aligned(sizeof(void *));
-typedef struct libusb_pollfd {
- int fd;
- short events;
-} libusb_pollfd;
-
/* Library initialisation */
void libusb_set_debug(libusb_context * ctx, int level);
@@ -360,6 +381,7 @@
void libusb_free_device_list(libusb_device ** list, int unref_devices);
uint8_t libusb_get_bus_number(libusb_device * dev);
uint8_t libusb_get_device_address(libusb_device * dev);
+int libusb_clear_halt(libusb_device_handle *devh, unsigned char endpoint);
int libusb_get_max_packet_size(libusb_device * dev, unsigned char endpoint);
libusb_device *libusb_ref_device(libusb_device * dev);
void libusb_unref_device(libusb_device * dev);
==== //depot/projects/soc2009/trasz_limits/lib/libusb/libusb10.c#2 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.1 2009/06/23 01:04:58 thompsa Exp $ */
+/* $FreeBSD: src/lib/libusb/libusb10.c,v 1.2 2009/07/10 14:15:53 thompsa Exp $ */
/*-
* Copyright (c) 2009 Sylvestre Gallon. All rights reserved.
*
@@ -75,8 +75,8 @@
pthread_mutex_init(&ctx->usb_devs_lock, NULL);
pthread_mutex_init(&ctx->open_devs_lock, NULL);
- USB_LIST_INIT(&ctx->usb_devs);
- USB_LIST_INIT(&ctx->open_devs);
+ TAILQ_INIT(&ctx->usb_devs);
+ TAILQ_INIT(&ctx->open_devs);
pthread_mutex_init(&ctx->flying_transfers_lock, NULL);
pthread_mutex_init(&ctx->pollfds_lock, NULL);
@@ -85,8 +85,8 @@
pthread_mutex_init(&ctx->event_waiters_lock, NULL);
pthread_cond_init(&ctx->event_waiters_cond, NULL);
- USB_LIST_INIT(&ctx->flying_transfers);
- USB_LIST_INIT(&ctx->pollfds);
+ TAILQ_INIT(&ctx->flying_transfers);
+ TAILQ_INIT(&ctx->pollfds);
ret = pipe(ctx->ctrl_pipe);
if (ret < 0) {
@@ -123,7 +123,7 @@
{
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter");
usb_remove_pollfd(ctx, ctx->ctrl_pipe[0]);
close(ctx->ctrl_pipe[0]);
close(ctx->ctrl_pipe[1]);
@@ -135,7 +135,7 @@
pthread_mutex_unlock(&default_context_lock);
free(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave");
}
/* Device handling and initialisation. */
@@ -150,7 +150,7 @@
int i;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter");
usb_backend = libusb20_be_alloc_default();
if (usb_backend == NULL)
@@ -178,6 +178,10 @@
ddesc = libusb20_dev_get_device_desc(pdev);
dev = malloc(sizeof(*dev));
if (dev == NULL) {
+ while (i != 0) {
+ libusb_unref_device((*list)[i - 1]);
+ i--;
+ }
free(*list);
libusb20_be_free(usb_backend);
return (LIBUSB_ERROR_NO_MEM);
@@ -194,7 +198,7 @@
dev->os_priv = pdev;
pthread_mutex_lock(&ctx->usb_devs_lock);
- LIST_ADD(&dev->list, &ctx->usb_devs);
+ TAILQ_INSERT_HEAD(&ctx->usb_devs, dev, list);
pthread_mutex_unlock(&ctx->usb_devs_lock);
(*list)[i] = libusb_ref_device(dev);
@@ -203,7 +207,7 @@
(*list)[i] = NULL;
libusb20_be_free(usb_backend);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave");
return (i);
}
@@ -219,7 +223,7 @@
ctx = NULL;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter");
if (list == NULL)
return ;
@@ -229,7 +233,7 @@
libusb_unref_device(list[i]);
}
free(list);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave");
}
uint8_t
@@ -239,11 +243,11 @@
ctx = NULL;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter");
if (dev == NULL)
return (LIBUSB_ERROR_NO_DEVICE);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave");
return (dev->bus_number);
}
@@ -254,11 +258,11 @@
ctx = NULL;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter");
if (dev == NULL)
return (LIBUSB_ERROR_NO_DEVICE);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave");
return (dev->device_address);
}
@@ -274,7 +278,7 @@
ctx = NULL;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter");
if (dev == NULL)
return (LIBUSB_ERROR_NO_DEVICE);
@@ -299,7 +303,7 @@
out:
libusb_free_config_descriptor(pdconf);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave");
return (ret);
}
@@ -310,7 +314,7 @@
ctx = NULL;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter");
if (dev == NULL)
return (NULL);
@@ -319,7 +323,7 @@
dev->refcnt++;
pthread_mutex_unlock(&dev->lock);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave");
return (dev);
}
@@ -330,7 +334,7 @@
ctx = NULL;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter");
if (dev == NULL)
return;
@@ -341,13 +345,13 @@
if (dev->refcnt == 0) {
pthread_mutex_lock(&dev->ctx->usb_devs_lock);
- LIST_DEL(&dev->list);
+ TAILQ_REMOVE(&ctx->usb_devs, dev, list);
pthread_mutex_unlock(&dev->ctx->usb_devs_lock);
libusb20_dev_free(dev->os_priv);
free(dev);
}
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave");
}
int
@@ -360,7 +364,7 @@
int err;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter");
dummy = 1;
if (devh == NULL)
@@ -378,6 +382,7 @@
memset(hdl, 0, sizeof(*hdl));
pthread_mutex_init(&hdl->lock, NULL);
+ TAILQ_INIT(&hdl->ep_list);
hdl->dev = libusb_ref_device(dev);
hdl->claimed_interfaces = 0;
hdl->os_priv = dev->os_priv;
@@ -390,7 +395,7 @@
}
pthread_mutex_lock(&ctx->open_devs_lock);
- LIST_ADD(&hdl->list, &ctx->open_devs);
+ TAILQ_INSERT_HEAD(&ctx->open_devs, hdl, list);
pthread_mutex_unlock(&ctx->open_devs_lock);
*devh = hdl;
@@ -414,7 +419,7 @@
pthread_mutex_unlock(&ctx->pollfd_modify_lock);
libusb_unlock_events(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave");
return (0);
}
@@ -429,7 +434,7 @@
int i, j;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter");
devh = NULL;
@@ -440,13 +445,15 @@
pdev = (struct libusb20_device *)devs[j]->os_priv;
pdesc = libusb20_dev_get_device_desc(pdev);
if (pdesc->idVendor == vendor_id &&
- pdesc->idProduct == product_id)
+ pdesc->idProduct == product_id) {
if (libusb_open(devs[j], &devh) < 0)
devh = NULL;
+ break ;
+ }
}
libusb_free_device_list(devs, 1);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave");
return (devh);
}
@@ -455,6 +462,7 @@
{
libusb_context *ctx;
struct libusb20_device *pdev;
+ struct usb_ep_tr *eptr;
unsigned char dummy = 1;
int err;
@@ -465,7 +473,7 @@
pdev = devh->os_priv;
GET_CONTEXT(ctx);
- dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter");
+ DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter");
pthread_mutex_lock(&ctx->pollfd_modify_lock);
ctx->pollfd_modify++;
@@ -475,12 +483,21 @@
if (err <= 0) {
pthread_mutex_lock(&ctx->open_devs_lock);
- LIST_DEL(&devh->list);
+ TAILQ_REMOVE(&ctx->open_devs, devh, list);
pthread_mutex_unlock(&ctx->open_devs_lock);
usb_remove_pollfd(ctx, libusb20_dev_get_fd(pdev));
+ libusb20_dev_close(pdev);
libusb_unref_device(devh->dev);
- libusb20_dev_close(pdev);
+ TAILQ_FOREACH(eptr, &devh->ep_list, list) {
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list