From b5279ecc51ff751ccd052fbb7c20efd529575f7e Mon Sep 17 00:00:00 2001 From: cvs2svn <> Date: Tue, 18 Feb 2014 19:58:41 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'cygwin-pre-user-db'. Sprout from cygwin-1_7_29-release-branchpoint 2014-02-18 19:58:40 UTC cvs2svn 'This commit was manufactured by cvs2svn to create branch 'cygwin-1_7_29' Cherrypick from master 2014-02-08 22:25:11 UTC Corinna Vinschen 'Fix ChangeLog': winsup/cygwin/ChangeLog winsup/cygwin/miscfuncs.cc winsup/cygwin/miscfuncs.h winsup/cygwin/mount.cc Delete: winsup/COPYING winsup/CYGWIN_LICENSE winsup/ChangeLog winsup/Makefile.common winsup/Makefile.in winsup/README winsup/acinclude.m4 winsup/aclocal.m4 winsup/autogen.sh winsup/c++wrap winsup/ccwrap winsup/config.guess winsup/config.sub winsup/configure winsup/configure.ac winsup/configure.cygwin winsup/cygserver/ChangeLog winsup/cygserver/ChangeLog.64bit winsup/cygserver/Makefile.in winsup/cygserver/README winsup/cygserver/aclocal.m4 winsup/cygserver/autogen.sh winsup/cygserver/bsd_helper.cc winsup/cygserver/bsd_helper.h winsup/cygserver/bsd_log.cc winsup/cygserver/bsd_log.h winsup/cygserver/bsd_mutex.cc winsup/cygserver/bsd_mutex.h winsup/cygserver/client.cc winsup/cygserver/configure winsup/cygserver/configure.ac winsup/cygserver/cygserver-config winsup/cygserver/cygserver.cc winsup/cygserver/cygserver.conf winsup/cygserver/msg.cc winsup/cygserver/process.cc winsup/cygserver/process.h winsup/cygserver/sem.cc winsup/cygserver/setpwd.cc winsup/cygserver/shm.cc winsup/cygserver/sysv_msg.cc winsup/cygserver/sysv_sem.cc winsup/cygserver/sysv_shm.cc winsup/cygserver/threaded_queue.cc winsup/cygserver/threaded_queue.h winsup/cygserver/transport.cc winsup/cygserver/transport.h winsup/cygserver/transport_pipes.cc winsup/cygserver/transport_pipes.h winsup/cygserver/woutsup.h winsup/cygwin/release/1.7.29 winsup/doc/.cvsignore winsup/doc/ChangeLog winsup/doc/Makefile.in winsup/doc/README winsup/doc/Wishlist winsup/doc/aclocal.m4 winsup/doc/bodysnatcher.pl winsup/doc/configure winsup/doc/configure.ac winsup/doc/cygserver.xml winsup/doc/cygwin-api.in.xml winsup/doc/cygwin-ug-net.xml winsup/doc/cygwin.xsl winsup/doc/cygwinenv.xml winsup/doc/dll.xml winsup/doc/doctool.c winsup/doc/doctool.txt winsup/doc/effectively.xml winsup/doc/faq-api.xml winsup/doc/faq-copyright.xml winsup/doc/faq-programming.xml winsup/doc/faq-resources.xml winsup/doc/faq-setup.xml winsup/doc/faq-using.xml winsup/doc/faq-what.xml winsup/doc/faq.xml winsup/doc/fhandler-tut.txt winsup/doc/filemodes.xml winsup/doc/fo.xsl winsup/doc/gcc.xml winsup/doc/gdb.xml winsup/doc/highlights.xml winsup/doc/legal.xml winsup/doc/new-features.xml winsup/doc/ntsec.xml winsup/doc/ov-ex-unix.xml winsup/doc/ov-ex-win.xml winsup/doc/overview.xml winsup/doc/pathnames.xml winsup/doc/programming.xml winsup/doc/setup-env.xml winsup/doc/setup-files.xml winsup/doc/setup-locale.xml winsup/doc/setup-maxmem.xml winsup/doc/setup-net.xml winsup/doc/specialnames.xml winsup/doc/textbinary.xml winsup/doc/ug-info.xml winsup/doc/using.xml winsup/doc/windres.xml winsup/doc/xidepend winsup/install-sh winsup/lsaauth/ChangeLog winsup/lsaauth/ChangeLog.64bit winsup/lsaauth/Makefile.in winsup/lsaauth/aclocal.m4 winsup/lsaauth/configure winsup/lsaauth/configure.ac winsup/lsaauth/cyglsa-config winsup/lsaauth/cyglsa.c winsup/lsaauth/cyglsa.din winsup/lsaauth/cyglsa64.def winsup/testsuite/ChangeLog winsup/testsuite/Makefile.in winsup/testsuite/README winsup/testsuite/aclocal.m4 winsup/testsuite/config/default.exp winsup/testsuite/configure winsup/testsuite/configure.ac winsup/testsuite/cygrun.c winsup/testsuite/libltp/include/dataascii.h winsup/testsuite/libltp/include/databin.h winsup/testsuite/libltp/include/file_lock.h winsup/testsuite/libltp/include/forker.h winsup/testsuite/libltp/include/open_flags.h winsup/testsuite/libltp/include/pattern.h winsup/testsuite/libltp/include/random_range.h winsup/testsuite/libltp/include/rmobj.h winsup/testsuite/libltp/include/search_path.h winsup/testsuite/libltp/include/str_to_bytes.h winsup/testsuite/libltp/include/string_to_tokens.h winsup/testsuite/libltp/include/test.h winsup/testsuite/libltp/include/tlibio.h winsup/testsuite/libltp/include/usctest.h winsup/testsuite/libltp/include/write_log.h winsup/testsuite/libltp/lib/dataascii.c winsup/testsuite/libltp/lib/databin.c winsup/testsuite/libltp/lib/datapid.c winsup/testsuite/libltp/lib/forker.c winsup/testsuite/libltp/lib/get_high_address.c winsup/testsuite/libltp/lib/libtestsuite.c winsup/testsuite/libltp/lib/open_flags.c winsup/testsuite/libltp/lib/parse_opts.c winsup/testsuite/libltp/lib/pattern.c winsup/testsuite/libltp/lib/rmobj.c winsup/testsuite/libltp/lib/search_path.c winsup/testsuite/libltp/lib/str_to_bytes.c winsup/testsuite/libltp/lib/string_to_tokens.c winsup/testsuite/libltp/lib/tst_res.c winsup/testsuite/libltp/lib/tst_sig.c winsup/testsuite/libltp/lib/tst_tmpdir.c winsup/testsuite/libltp/lib/write_log.c winsup/testsuite/winsup.api/checksignal.c winsup/testsuite/winsup.api/crlf.c winsup/testsuite/winsup.api/cygload.cc winsup/testsuite/winsup.api/cygload.exp winsup/testsuite/winsup.api/cygload.h winsup/testsuite/winsup.api/devdsp.c winsup/testsuite/winsup.api/devdsp_okay.h winsup/testsuite/winsup.api/devzero.c winsup/testsuite/winsup.api/iospeed.c winsup/testsuite/winsup.api/known_bugs.tcl winsup/testsuite/winsup.api/ltp/access01.c winsup/testsuite/winsup.api/ltp/access03.c winsup/testsuite/winsup.api/ltp/access04.c winsup/testsuite/winsup.api/ltp/access05.c winsup/testsuite/winsup.api/ltp/alarm01.c winsup/testsuite/winsup.api/ltp/alarm02.c winsup/testsuite/winsup.api/ltp/alarm03.c winsup/testsuite/winsup.api/ltp/alarm07.c winsup/testsuite/winsup.api/ltp/asyncio02.c winsup/testsuite/winsup.api/ltp/chdir02.c winsup/testsuite/winsup.api/ltp/chdir04.c winsup/testsuite/winsup.api/ltp/chmod01.c winsup/testsuite/winsup.api/ltp/chmod02.c winsup/testsuite/winsup.api/ltp/chown01.c winsup/testsuite/winsup.api/ltp/close01.c winsup/testsuite/winsup.api/ltp/close02.c winsup/testsuite/winsup.api/ltp/close08.c winsup/testsuite/winsup.api/ltp/creat01.c winsup/testsuite/winsup.api/ltp/creat03.c winsup/testsuite/winsup.api/ltp/creat09.c winsup/testsuite/winsup.api/ltp/dup01.c winsup/testsuite/winsup.api/ltp/dup02.c winsup/testsuite/winsup.api/ltp/dup03.c winsup/testsuite/winsup.api/ltp/dup04.c winsup/testsuite/winsup.api/ltp/dup05.c winsup/testsuite/winsup.api/ltp/execl01.c winsup/testsuite/winsup.api/ltp/execle01.c winsup/testsuite/winsup.api/ltp/execlp01.c winsup/testsuite/winsup.api/ltp/execv01.c winsup/testsuite/winsup.api/ltp/execve01.c winsup/testsuite/winsup.api/ltp/execvp01.c winsup/testsuite/winsup.api/ltp/exit01.c winsup/testsuite/winsup.api/ltp/exit02.c winsup/testsuite/winsup.api/ltp/fchdir01.c winsup/testsuite/winsup.api/ltp/fchdir02.c winsup/testsuite/winsup.api/ltp/fchmod01.c winsup/testsuite/winsup.api/ltp/fchown01.c winsup/testsuite/winsup.api/ltp/fcntl02.c winsup/testsuite/winsup.api/ltp/fcntl03.c winsup/testsuite/winsup.api/ltp/fcntl04.c winsup/testsuite/winsup.api/ltp/fcntl05.c winsup/testsuite/winsup.api/ltp/fcntl07.c winsup/testsuite/winsup.api/ltp/fcntl07B.c winsup/testsuite/winsup.api/ltp/fcntl08.c winsup/testsuite/winsup.api/ltp/fcntl09.c winsup/testsuite/winsup.api/ltp/fcntl10.c winsup/testsuite/winsup.api/ltp/fork01.c winsup/testsuite/winsup.api/ltp/fork02.c winsup/testsuite/winsup.api/ltp/fork03.c winsup/testsuite/winsup.api/ltp/fork04.c winsup/testsuite/winsup.api/ltp/fork06.c winsup/testsuite/winsup.api/ltp/fork07.c winsup/testsuite/winsup.api/ltp/fork09.c winsup/testsuite/winsup.api/ltp/fork10.c winsup/testsuite/winsup.api/ltp/fork11.c winsup/testsuite/winsup.api/ltp/fpathconf01.c winsup/testsuite/winsup.api/ltp/fstat01.c winsup/testsuite/winsup.api/ltp/fstat02.c winsup/testsuite/winsup.api/ltp/fstat03.c winsup/testsuite/winsup.api/ltp/fstat04.c winsup/testsuite/winsup.api/ltp/fsync01.c winsup/testsuite/winsup.api/ltp/ftruncate01.c winsup/testsuite/winsup.api/ltp/ftruncate02.c winsup/testsuite/winsup.api/ltp/ftruncate03.c winsup/testsuite/winsup.api/ltp/getegid01.c winsup/testsuite/winsup.api/ltp/geteuid01.c winsup/testsuite/winsup.api/ltp/getgid01.c winsup/testsuite/winsup.api/ltp/getgid02.c winsup/testsuite/winsup.api/ltp/getgid03.c winsup/testsuite/winsup.api/ltp/getgroups01.c winsup/testsuite/winsup.api/ltp/getgroups02.c winsup/testsuite/winsup.api/ltp/gethostid01.c winsup/testsuite/winsup.api/ltp/gethostname01.c winsup/testsuite/winsup.api/ltp/getpgid01.c winsup/testsuite/winsup.api/ltp/getpgid02.c winsup/testsuite/winsup.api/ltp/getpgrp01.c winsup/testsuite/winsup.api/ltp/getpid01.c winsup/testsuite/winsup.api/ltp/getpid02.c winsup/testsuite/winsup.api/ltp/getppid01.c winsup/testsuite/winsup.api/ltp/getppid02.c winsup/testsuite/winsup.api/ltp/getuid01.c winsup/testsuite/winsup.api/ltp/getuid02.c winsup/testsuite/winsup.api/ltp/getuid03.c winsup/testsuite/winsup.api/ltp/kill01.c winsup/testsuite/winsup.api/ltp/kill02.c winsup/testsuite/winsup.api/ltp/kill03.c winsup/testsuite/winsup.api/ltp/kill04.c winsup/testsuite/winsup.api/ltp/kill09.c winsup/testsuite/winsup.api/ltp/link02.c winsup/testsuite/winsup.api/ltp/link03.c winsup/testsuite/winsup.api/ltp/link04.c winsup/testsuite/winsup.api/ltp/link05.c winsup/testsuite/winsup.api/ltp/lseek01.c winsup/testsuite/winsup.api/ltp/lseek02.c winsup/testsuite/winsup.api/ltp/lseek03.c winsup/testsuite/winsup.api/ltp/lseek04.c winsup/testsuite/winsup.api/ltp/lseek05.c winsup/testsuite/winsup.api/ltp/lseek06.c winsup/testsuite/winsup.api/ltp/lseek07.c winsup/testsuite/winsup.api/ltp/lseek08.c winsup/testsuite/winsup.api/ltp/lseek09.c winsup/testsuite/winsup.api/ltp/lseek10.c winsup/testsuite/winsup.api/ltp/lstat02.c winsup/testsuite/winsup.api/ltp/mkdir01.c winsup/testsuite/winsup.api/ltp/mkdir08.c winsup/testsuite/winsup.api/ltp/mknod01.c winsup/testsuite/winsup.api/ltp/mmap001.c winsup/testsuite/winsup.api/ltp/mmap02.c winsup/testsuite/winsup.api/ltp/mmap03.c winsup/testsuite/winsup.api/ltp/mmap04.c winsup/testsuite/winsup.api/ltp/mmap05.c winsup/testsuite/winsup.api/ltp/mmap06.c winsup/testsuite/winsup.api/ltp/mmap07.c winsup/testsuite/winsup.api/ltp/mmap08.c winsup/testsuite/winsup.api/ltp/munmap01.c winsup/testsuite/winsup.api/ltp/munmap02.c winsup/testsuite/winsup.api/ltp/nice05.c winsup/testsuite/winsup.api/ltp/open02.c winsup/testsuite/winsup.api/ltp/open03.c winsup/testsuite/winsup.api/ltp/pathconf01.c winsup/testsuite/winsup.api/ltp/pause01.c winsup/testsuite/winsup.api/ltp/pipe01.c winsup/testsuite/winsup.api/ltp/pipe08.c winsup/testsuite/winsup.api/ltp/pipe09.c winsup/testsuite/winsup.api/ltp/pipe10.c winsup/testsuite/winsup.api/ltp/pipe11.c winsup/testsuite/winsup.api/ltp/poll01.c winsup/testsuite/winsup.api/ltp/read01.c winsup/testsuite/winsup.api/ltp/read04.c winsup/testsuite/winsup.api/ltp/readdir01.c winsup/testsuite/winsup.api/ltp/readlink01.c winsup/testsuite/winsup.api/ltp/readlink02.c winsup/testsuite/winsup.api/ltp/readlink03.c winsup/testsuite/winsup.api/ltp/rename01.c winsup/testsuite/winsup.api/ltp/rename02.c winsup/testsuite/winsup.api/ltp/rename08.c winsup/testsuite/winsup.api/ltp/rename10.c winsup/testsuite/winsup.api/ltp/rmdir01.c winsup/testsuite/winsup.api/ltp/rmdir04.c winsup/testsuite/winsup.api/ltp/rmdir05.c winsup/testsuite/winsup.api/ltp/sbrk01.c winsup/testsuite/winsup.api/ltp/select01.c winsup/testsuite/winsup.api/ltp/select02.c winsup/testsuite/winsup.api/ltp/select03.c winsup/testsuite/winsup.api/ltp/setgid01.c winsup/testsuite/winsup.api/ltp/setgroups01.c winsup/testsuite/winsup.api/ltp/setpgid01.c winsup/testsuite/winsup.api/ltp/setregid01.c winsup/testsuite/winsup.api/ltp/setreuid01.c winsup/testsuite/winsup.api/ltp/setuid01.c winsup/testsuite/winsup.api/ltp/setuid02.c winsup/testsuite/winsup.api/ltp/signal03.c winsup/testsuite/winsup.api/ltp/stat01.c winsup/testsuite/winsup.api/ltp/stat02.c winsup/testsuite/winsup.api/ltp/stat03.c winsup/testsuite/winsup.api/ltp/stat05.c winsup/testsuite/winsup.api/ltp/stat06.c winsup/testsuite/winsup.api/ltp/symlink01.c winsup/testsuite/winsup.api/ltp/symlink02.c winsup/testsuite/winsup.api/ltp/symlink03.c winsup/testsuite/winsup.api/ltp/symlink04.c winsup/testsuite/winsup.api/ltp/symlink05.c winsup/testsuite/winsup.api/ltp/sync01.c winsup/testsuite/winsup.api/ltp/sync02.c winsup/testsuite/winsup.api/ltp/time01.c winsup/testsuite/winsup.api/ltp/time02.c winsup/testsuite/winsup.api/ltp/times01.c winsup/testsuite/winsup.api/ltp/times02.c winsup/testsuite/winsup.api/ltp/times03.c winsup/testsuite/winsup.api/ltp/truncate01.c winsup/testsuite/winsup.api/ltp/truncate02.c winsup/testsuite/winsup.api/ltp/ulimit01.c winsup/testsuite/winsup.api/ltp/umask01.c winsup/testsuite/winsup.api/ltp/umask02.c winsup/testsuite/winsup.api/ltp/umask03.c winsup/testsuite/winsup.api/ltp/uname01.c winsup/testsuite/winsup.api/ltp/unlink05.c winsup/testsuite/winsup.api/ltp/unlink06.c winsup/testsuite/winsup.api/ltp/unlink07.c winsup/testsuite/winsup.api/ltp/unlink08.c winsup/testsuite/winsup.api/ltp/vfork01.c winsup/testsuite/winsup.api/ltp/wait02.c winsup/testsuite/winsup.api/ltp/wait401.c winsup/testsuite/winsup.api/ltp/wait402.c winsup/testsuite/winsup.api/ltp/write01.c winsup/testsuite/winsup.api/ltp/write02.c winsup/testsuite/winsup.api/ltp/write03.c winsup/testsuite/winsup.api/mmaptest01.c winsup/testsuite/winsup.api/mmaptest02.c winsup/testsuite/winsup.api/mmaptest03.c winsup/testsuite/winsup.api/mmaptest04.c winsup/testsuite/winsup.api/msgtest.c winsup/testsuite/winsup.api/nullgetcwd.c winsup/testsuite/winsup.api/pthread/cancel1.c winsup/testsuite/winsup.api/pthread/cancel10.c winsup/testsuite/winsup.api/pthread/cancel11.c winsup/testsuite/winsup.api/pthread/cancel12.c winsup/testsuite/winsup.api/pthread/cancel2.c winsup/testsuite/winsup.api/pthread/cancel3.c winsup/testsuite/winsup.api/pthread/cancel4.c winsup/testsuite/winsup.api/pthread/cancel5.c winsup/testsuite/winsup.api/pthread/cancel6.c winsup/testsuite/winsup.api/pthread/cancel7.c winsup/testsuite/winsup.api/pthread/cancel8.c winsup/testsuite/winsup.api/pthread/cancel9.c winsup/testsuite/winsup.api/pthread/cleanup2.c winsup/testsuite/winsup.api/pthread/cleanup3.c winsup/testsuite/winsup.api/pthread/condvar1.c winsup/testsuite/winsup.api/pthread/condvar2.c winsup/testsuite/winsup.api/pthread/condvar2_1.c winsup/testsuite/winsup.api/pthread/condvar3.c winsup/testsuite/winsup.api/pthread/condvar3_1.c winsup/testsuite/winsup.api/pthread/condvar3_2.c winsup/testsuite/winsup.api/pthread/condvar3_3.c winsup/testsuite/winsup.api/pthread/condvar4.c winsup/testsuite/winsup.api/pthread/condvar5.c winsup/testsuite/winsup.api/pthread/condvar6.c winsup/testsuite/winsup.api/pthread/condvar7.c winsup/testsuite/winsup.api/pthread/condvar8.c winsup/testsuite/winsup.api/pthread/condvar9.c winsup/testsuite/winsup.api/pthread/count1.c winsup/testsuite/winsup.api/pthread/create1.c winsup/testsuite/winsup.api/pthread/create2.c winsup/testsuite/winsup.api/pthread/equal1.c winsup/testsuite/winsup.api/pthread/exit1.c winsup/testsuite/winsup.api/pthread/exit2.c winsup/testsuite/winsup.api/pthread/exit3.c winsup/testsuite/winsup.api/pthread/inherit1.c winsup/testsuite/winsup.api/pthread/join0.c winsup/testsuite/winsup.api/pthread/join1.c winsup/testsuite/winsup.api/pthread/join2.c winsup/testsuite/winsup.api/pthread/mainthreadexits.c winsup/testsuite/winsup.api/pthread/mutex1.c winsup/testsuite/winsup.api/pthread/mutex1d.c winsup/testsuite/winsup.api/pthread/mutex1e.c winsup/testsuite/winsup.api/pthread/mutex1n.c winsup/testsuite/winsup.api/pthread/mutex1r.c winsup/testsuite/winsup.api/pthread/mutex2.c winsup/testsuite/winsup.api/pthread/mutex3.c winsup/testsuite/winsup.api/pthread/mutex4.c winsup/testsuite/winsup.api/pthread/mutex5.c winsup/testsuite/winsup.api/pthread/mutex6d.c winsup/testsuite/winsup.api/pthread/mutex6e.c winsup/testsuite/winsup.api/pthread/mutex6n.c winsup/testsuite/winsup.api/pthread/mutex6r.c winsup/testsuite/winsup.api/pthread/mutex7.c winsup/testsuite/winsup.api/pthread/mutex7d.c winsup/testsuite/winsup.api/pthread/mutex7e.c winsup/testsuite/winsup.api/pthread/mutex7n.c winsup/testsuite/winsup.api/pthread/mutex7r.c winsup/testsuite/winsup.api/pthread/mutex8e.c winsup/testsuite/winsup.api/pthread/mutex8n.c winsup/testsuite/winsup.api/pthread/mutex8r.c winsup/testsuite/winsup.api/pthread/once1.c winsup/testsuite/winsup.api/pthread/priority1.c winsup/testsuite/winsup.api/pthread/priority2.c winsup/testsuite/winsup.api/pthread/rwlock1.c winsup/testsuite/winsup.api/pthread/rwlock2.c winsup/testsuite/winsup.api/pthread/rwlock3.c winsup/testsuite/winsup.api/pthread/rwlock4.c winsup/testsuite/winsup.api/pthread/rwlock5.c winsup/testsuite/winsup.api/pthread/rwlock6.c winsup/testsuite/winsup.api/pthread/rwlock7.c winsup/testsuite/winsup.api/pthread/self1.c winsup/testsuite/winsup.api/pthread/self2.c winsup/testsuite/winsup.api/pthread/test.h winsup/testsuite/winsup.api/pthread/threadidafterfork.c winsup/testsuite/winsup.api/pthread/tsd1.c winsup/testsuite/winsup.api/resethand.c winsup/testsuite/winsup.api/samples/sample-fail.c winsup/testsuite/winsup.api/samples/sample-miscompile.c winsup/testsuite/winsup.api/samples/sample-pass.c winsup/testsuite/winsup.api/semtest.c winsup/testsuite/winsup.api/shmtest.c winsup/testsuite/winsup.api/sigchld.c winsup/testsuite/winsup.api/signal-into-win32-api.c winsup/testsuite/winsup.api/systemcall.c winsup/testsuite/winsup.api/user_malloc.c winsup/testsuite/winsup.api/waitpid.c winsup/testsuite/winsup.api/winsup.exp winsup/utils/COPYING.dumper winsup/utils/ChangeLog winsup/utils/ChangeLog-2000 winsup/utils/ChangeLog.64bit winsup/utils/Makefile.in winsup/utils/aclocal.m4 winsup/utils/autogen.sh winsup/utils/bloda.cc winsup/utils/configure winsup/utils/configure.ac winsup/utils/cygcheck.cc winsup/utils/cygpath.cc winsup/utils/cygwin-console-helper.cc winsup/utils/dump_setup.cc winsup/utils/dumper.cc winsup/utils/dumper.h winsup/utils/getconf.c winsup/utils/getfacl.c winsup/utils/kill.cc winsup/utils/ldd.cc winsup/utils/ldh.cc winsup/utils/loadlib.h winsup/utils/locale.cc winsup/utils/minidumper.cc winsup/utils/mkgroup.c winsup/utils/mkpasswd.c winsup/utils/module_info.cc winsup/utils/mount.cc winsup/utils/parse_pe.cc winsup/utils/passwd.c winsup/utils/path.cc winsup/utils/path.h winsup/utils/pldd.c winsup/utils/ps.cc winsup/utils/regtool.cc winsup/utils/setfacl.c winsup/utils/setmetamode.c winsup/utils/ssp.c winsup/utils/ssp.txt winsup/utils/strace.cc winsup/utils/testsuite.cc winsup/utils/testsuite.h winsup/utils/tzset.c winsup/utils/umount.cc winsup/utils/utils.xml winsup/utils/wide_path.h --- winsup/testsuite/winsup.api/devdsp.c | 783 ----------------------------------- 1 file changed, 783 deletions(-) delete mode 100644 winsup/testsuite/winsup.api/devdsp.c (limited to 'winsup/testsuite/winsup.api/devdsp.c') diff --git a/winsup/testsuite/winsup.api/devdsp.c b/winsup/testsuite/winsup.api/devdsp.c deleted file mode 100644 index d5ed65365..000000000 --- a/winsup/testsuite/winsup.api/devdsp.c +++ /dev/null @@ -1,783 +0,0 @@ -/* devdsp.c: Device tests for /dev/dsp - - Copyright 2004 Red Hat, Inc - - Written by Gerd Spalink (Gerd.Spalink@t-online.de) - -This file is part of Cygwin. - -This software is a copyrighted work licensed under the terms of the -Cygwin license. Please consult the file "CYGWIN_LICENSE" for -details. */ - -/* Conventions used here: - We use the libltp framework - 1. Any unexpected behaviour leads to an exit with nonzero exit status - 2. Unexpected behaviour from /dev/dsp results in an exit status of TFAIL - 3. Unexpected behaviour from OS (malloc, fork, waitpid...) result - in an exit status of TBROK */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "test.h" /* use libltp framework */ - -/* Controls if a child can open the device after the parent */ -#define CHILD_EXPECT 0 /* 0 or 1 */ - -static const char wavfile_okay[] = - { -#include "devdsp_okay.h" /* a sound sample */ - }; - -/* Globals required by libltp */ -const char *TCID = "devdsp"; /* set test case identifier */ -int TST_TOTAL = 37; - -/* Prototypes */ -void sinegen (void *wave, int rate, int bits, int len, int stride); -void sinegenw (int freq, int samprate, short *value, int len, int stride); -void sinegenb (int freq, int samprate, unsigned char *value, int len, - int stride); -void playtest (int fd, int rate, int stereo, int bits); -void rectest (int fd, int rate, int stereo, int bits); -void rwtest (int fd, int rate, int stereo, int bits); -void setpars (int fd, int rate, int stereo, int bits); -void forkplaytest (void); -void forkrectest (void); -void recordingtest (void); -void playbacktest (void); -void monitortest (void); -void ioctltest (void); -void abortplaytest (void); -void playwavtest (void); -void syncwithchild (pid_t pid, int expected_exit_status); -void cleanup (void); -void dup_test (void); - -static int expect_child_failure = 0; - -/* Sampling rates we want to test */ -static const int rates[] = { 44100, 22050, 8000 }; - -/* Combinations of stereo/bits we want to test */ -struct sb -{ - int stereo; - int bits; -}; -static const struct sb sblut[] = { {0, 8}, {0, 16}, {1, 8}, {1, 16} }; - -int -main (int argc, char *argv[]) -{ - /* tst_brkm(TBROK, cleanup, "see if it breaks all right"); */ - ioctltest (); - playbacktest (); - recordingtest (); - monitortest (); - forkplaytest (); - forkrectest (); - abortplaytest (); - playwavtest (); - dup_test (); - tst_exit (); - /* NOTREACHED */ - return 0; -} - -/* test some extra ioctls */ -void -ioctltest (void) -{ - int audio1; - int ioctl_par; - int channels; - - tst_resm (TINFO, "Running %s", __FUNCTION__); - audio1 = open ("/dev/dsp", O_WRONLY); - if (audio1 < 0) - { - tst_brkm (TFAIL, cleanup, "open W: %s", strerror (errno)); - } - setpars (audio1, 44100, 1, 16); - - channels = ioctl_par = 1; - while (ioctl (audio1, SNDCTL_DSP_CHANNELS, &ioctl_par) == 0) - { - channels++; - ioctl_par = channels; - } - if (channels == ioctl_par) - tst_resm (TFAIL, "Max channels=%d failed", ioctl_par); - else - tst_resm (TPASS, "Max channels=%d failed, OK=%d", channels, ioctl_par); - - /* Note: block size may depend on parameters */ - if (ioctl (audio1, SNDCTL_DSP_GETBLKSIZE, &ioctl_par) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl GETBLKSIZE: %s", strerror (errno)); - } - tst_resm (TPASS, "ioctl get buffer size=%d", ioctl_par); - if (ioctl (audio1, SNDCTL_DSP_GETFMTS, &ioctl_par) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl GETFMTS: %s", strerror (errno)); - } - tst_resm (TPASS, "ioctl get formats=%08x", ioctl_par); - if (ioctl (audio1, SNDCTL_DSP_GETCAPS, &ioctl_par) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl GETCAPS: %s", strerror (errno)); - } - tst_resm (TPASS, "ioctl get caps=%08x", ioctl_par); - if (close (audio1) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } -} - -/* test write / play */ -void -playbacktest (void) -{ - int audio1, audio2; - int rate, k; - - tst_resm (TINFO, "Running %s", __FUNCTION__); - audio1 = open ("/dev/dsp", O_WRONLY); - if (audio1 < 0) - { - tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s", - strerror (errno)); - } - audio2 = open ("/dev/dsp", O_WRONLY); - if (audio2 >= 0) - { - tst_brkm (TFAIL, cleanup, - "Second open /dev/dsp W succeeded, but is expected to fail"); - } - else if (errno != EBUSY) - { - tst_brkm (TFAIL, cleanup, "Expected EBUSY here, exit: %s", - strerror (errno)); - } - for (rate = 0; rate < sizeof (rates) / sizeof (int); rate++) - for (k = 0; k < sizeof (sblut) / sizeof (struct sb); k++) - { - playtest (audio1, rates[rate], sblut[k].stereo, sblut[k].bits); - tst_resm (TPASS, "Play bits=%2d stereo=%d rate=%5d", - sblut[k].bits, sblut[k].stereo, rates[rate]); - } - if (close (audio1) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } -} - -/* test read / record */ -void -recordingtest (void) -{ - int audio1, audio2; - int rate, k; - - /* test read / record */ - tst_resm (TINFO, "Running %s", __FUNCTION__); - audio1 = open ("/dev/dsp", O_RDONLY); - if (audio1 < 0) - { - tst_brkm (TFAIL, cleanup, "Error open /dev/dsp R: %s", - strerror (errno)); - } - audio2 = open ("/dev/dsp", O_RDONLY); - if (audio2 >= 0) - { - tst_brkm (TFAIL, cleanup, - "Second open /dev/dsp R succeeded, but is expected to fail"); - } - else if (errno != EBUSY) - { - tst_brkm (TFAIL, cleanup, "Expected EBUSY here, exit: %s", - strerror (errno)); - } - for (rate = 0; rate < sizeof (rates) / sizeof (int); rate++) - for (k = 0; k < sizeof (sblut) / sizeof (struct sb); k++) - { - rectest (audio1, rates[rate], sblut[k].stereo, sblut[k].bits); - tst_resm (TPASS, "Record bits=%2d stereo=%d rate=%5d", - sblut[k].bits, sblut[k].stereo, rates[rate]); - } - if (close (audio1) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } -} - -/* simultaneous read/write */ -void -monitortest (void) -{ - int fd; - - tst_resm (TINFO, "Running %s", __FUNCTION__); - fd = open ("/dev/dsp", O_RDWR); - if (fd < 0) - { - tst_brkm (TFAIL, cleanup, "open RW: %s", strerror (errno)); - } - rwtest (fd, 44100, 1, 16); - tst_resm (TPASS, "Record+Play rate=44100, stereo, 16 bits"); - if (close (fd) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } -} - -void -forkrectest (void) -{ - int pid; - int fd; - - tst_resm (TINFO, "Running %s", __FUNCTION__); - fd = open ("/dev/dsp", O_RDONLY); - if (fd < 0) - { - tst_brkm (TFAIL, cleanup, "Error open /dev/dsp R: %s", - strerror (errno)); - } - pid = fork (); - if (pid < 0) - { - tst_brkm (TBROK, cleanup, "Fork failed: %s", strerror (errno)); - } - if (pid) - { - tst_resm (TINFO, "forked, child PID=%d", pid); - syncwithchild (pid, 0); - tst_resm (TINFO, "parent records.."); - rectest (fd, 22050, 1, 16); - tst_resm (TINFO, "parent done"); - } - else - { /* child */ - tst_resm (TINFO, "child records.."); - rectest (fd, 44100, 1, 16); - tst_resm (TINFO, "child done"); - fflush (stdout); - exit (0); /* implicit close */ - } - tst_resm (TPASS, "child records after fork"); - /* fork again, but now we have done a read before, - * so the child is expected to fail - */ - pid = fork (); - if (pid < 0) - { - tst_brkm (TBROK, cleanup, "Fork failed: %s", strerror (errno)); - } - if (pid) - { - tst_resm (TINFO, "forked, child PID=%d", pid); - syncwithchild (pid, CHILD_EXPECT?TFAIL:0); /* expecting error exit */ - tst_resm (TINFO, "parent records again .."); - rectest (fd, 22050, 1, 16); - tst_resm (TINFO, "parent done"); - } - else - { /* child */ - expect_child_failure = CHILD_EXPECT; - tst_resm (TINFO, "child trying to record %s", - CHILD_EXPECT?"(should fail)..":""); - rectest (fd, 44100, 1, 16); - /* NOTREACHED */ - tst_resm (TINFO, "child done"); - fflush (stdout); - exit (0); /* implicit close */ - } - if (close (fd) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } - tst_resm (TPASS, "child tries to record while parent is already recording"); -} - -void -forkplaytest (void) -{ - int pid; - int fd; - - tst_resm (TINFO, "Running %s", __FUNCTION__); - fd = open ("/dev/dsp", O_WRONLY); - if (fd < 0) - { - tst_brkm (TFAIL, cleanup, "Error open /dev/dsp R: %s", - strerror (errno)); - } - pid = fork (); - if (pid < 0) - { - tst_brkm (TBROK, cleanup, "Fork failed: %s", strerror (errno)); - } - if (pid) - { - tst_resm (TINFO, "forked, child PID=%d", pid); - syncwithchild (pid, 0); - tst_resm (TINFO, "parent plays.."); - playtest (fd, 22050, 0, 8); - tst_resm (TINFO, "parent done"); - } - else - { /* child */ - tst_resm (TINFO, "child plays.."); - playtest (fd, 44100, 1, 16); - tst_resm (TINFO, "child done"); - fflush (stdout); - exit (0); /* implicit close */ - } - tst_resm (TPASS, "child plays after fork"); - /* fork again, but now we have done a write before, - * so the child is expected to fail - */ - pid = fork (); - if (pid < 0) - { - tst_brkm (TBROK, cleanup, "Fork failed"); - } - if (pid) - { - tst_resm (TINFO, "forked, child PID=%d", pid); - syncwithchild (pid, CHILD_EXPECT?TFAIL:0); /* expected failure */ - tst_resm (TINFO, "parent plays again.."); - playtest (fd, 22050, 0, 8); - tst_resm (TINFO, "parent done"); - } - else - { /* child */ - expect_child_failure = CHILD_EXPECT; - tst_resm (TINFO, "child trying to play %s", - CHILD_EXPECT?"(should fail)..":""); - playtest (fd, 44100, 1, 16); - /* NOTREACHED */ - tst_resm (TINFO, "child done"); - fflush (stdout); - exit (0); /* implicit close */ - } - if (close (fd) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } - tst_resm (TPASS, "child tries to play while parent is already playing"); -} - -void -playtest (int fd, int rate, int stereo, int bits) -{ /* Play sine waves, always 0.25 sec */ - void *wave; - int n, c, b; - int size; - if (stereo) - c = 2; - else - c = 1; - if (bits == 8) - b = 1; - else - b = 2; - size = rate / 4 * c * b; - - wave = malloc (size); - if (wave == NULL) - { - tst_brkm (TBROK, cleanup, "Malloc failed, exit"); - } - setpars (fd, rate, stereo, bits); - sinegen (wave, rate, bits, rate / 4, c); - - if ((n = write (fd, wave, size)) < 0) - { - tst_brkm (TFAIL, cleanup, "write: %s", strerror (errno)); - } - if (n != size) - { - tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, size); - } - free (wave); -} - -void -rectest (int fd, int rate, int stereo, int bits) -{ - void *wave; - int n, c, b; - int size; - if (stereo) - c = 2; - else - c = 1; - if (bits == 8) - b = 1; - else - b = 2; - size = rate / 4 * c * b; - - wave = malloc (size); - if (wave == NULL) - { - tst_brkm (TBROK, cleanup, "Malloc failed, exit"); - } - setpars (fd, rate, stereo, bits); - if ((n = read (fd, wave, size)) < 0) - { - tst_brkm (TFAIL, cleanup, "read: %s", strerror (errno)); - } - if (n != size) - { - tst_brkm (TFAIL, cleanup, "Read n=%d (%d expected); exit", n, size); - } - if ((n = read (fd, wave, size)) < 0) - { - tst_brkm (TFAIL, cleanup, "read: %s", strerror (errno)); - } - if (n != size) - { - tst_brkm (TFAIL, cleanup, "Read n=%d (%d expected); exit", n, size); - } - free (wave); -} - -void -rwtest (int fd, int rate, int stereo, int bits) -{ - int pid; - void *wave; - int n, c, b; - int size; - if (stereo) - c = 2; - else - c = 1; - if (bits == 8) - b = 1; - else - b = 2; - size = rate / 4 * c * b; - - wave = malloc (size); - if (wave == NULL) - { - tst_brkm (TBROK, cleanup, "Malloc failed, exit"); - } - setpars (fd, rate, stereo, bits); - pid = fork (); - if (pid < 0) - { - tst_brkm (TBROK, cleanup, "Fork failed: %s", strerror (errno)); - } - if (pid) - { - tst_resm (TINFO, "forked, child PID=%d parent records", pid); - if ((n = read (fd, wave, size)) < 0) - { - tst_brkm (TFAIL, cleanup, "read: %s", strerror (errno)); - } - if (n != size) - { - tst_brkm (TFAIL, cleanup, "Read n=%d (%d expected)", n, size); - } - free (wave); - syncwithchild (pid, 0); - } - else - { /* child */ - tst_resm (TINFO, "child plays"); - sinegen (wave, rate, bits, rate / 4, c); - if ((n = write (fd, wave, size)) < 0) - { - tst_brkm (TFAIL, cleanup, "child write: %s", strerror (errno)); - } - if (n != size) - { - tst_brkm (TFAIL, cleanup, "child write n=%d OK (%d expected)", n, - size); - } - free (wave); - exit (0); - } -} - -void -setpars (int fd, int rate, int stereo, int bits) -{ - int ioctl_par = 0; - - if (ioctl (fd, SNDCTL_DSP_SAMPLESIZE, &bits) < 0) - { - if (expect_child_failure) - { /* Note: Don't print this to stderr because we expect failures here - * for the some cases after fork() - */ - tst_resm (TINFO, "ioctl SNDCTL_DSP_SAMPLESIZE: %s", - strerror (errno)); - exit (TFAIL); - } - else - { - tst_brkm (TFAIL, cleanup, "ioctl SNDCTL_DSP_SAMPLESIZE: %s", - strerror (errno)); - } - } - if (ioctl (fd, SNDCTL_DSP_STEREO, &stereo) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl SNDCTL_DSP_STEREO: %s", - strerror (errno)); - } - if (ioctl (fd, SNDCTL_DSP_SPEED, &rate) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl SNDCTL_DSP_SPEED: %s", - strerror (errno)); - } - if (ioctl (fd, SNDCTL_DSP_SYNC, &ioctl_par) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl SNDCTL_DSP_SYNC: %s", - strerror (errno)); - } -} - -void -syncwithchild (pid_t pid, int expected_exit_status) -{ - int status; - - if (waitpid (pid, &status, 0) != pid) - { - tst_brkm (TBROK, cleanup, "Wait for child: %s", strerror (errno)); - } - if (!WIFEXITED (status)) - { - tst_brkm (TBROK, cleanup, "Child had abnormal exit"); - } - if (WEXITSTATUS (status) != expected_exit_status) - { - tst_brkm (TFAIL, cleanup, "Child had exit status %d != %d", - WEXITSTATUS (status), expected_exit_status); - } -} - -void -sinegen (void *wave, int rate, int bits, int len, int stride) -{ - if (bits == 8) - { - sinegenb (1000, rate, (unsigned char *) wave, len, stride); - if (stride == 2) - sinegenb (800, rate, (unsigned char *) wave + 1, len, stride); - } - else - { - sinegenw (1000, rate, (short *) wave, len, stride); - if (stride == 2) - sinegenw (800, rate, (short *) wave + 1, len, stride); - } -} - -void -sinegenw (int freq, int samprate, short *value, int len, int stride) -{ - double phase, incr; - - phase = 0.0; - incr = M_PI * 2.0 * (double) freq / (double) samprate; - while (len-- > 0) - { - *value = (short) floor (0.5 + 6553 * sin (phase)); - value += stride; - phase += incr; - } -} - -void -sinegenb (int freq, int samprate, unsigned char *value, int len, int stride) -{ - double phase, incr; - - phase = 0.0; - incr = M_PI * 2.0 * (double) freq / (double) samprate; - while (len-- > 0) - { - *value = (unsigned char) floor (128.5 + 26 * sin (phase)); - value += stride; - phase += incr; - } -} - -void -abortplaytest (void) -{ - int audio; - int size = sizeof (wavfile_okay); - int n; - int ioctl_par = 0; - - tst_resm (TINFO, "Running %s", __FUNCTION__); - audio = open ("/dev/dsp", O_WRONLY); - if (audio < 0) - { - tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s", - strerror (errno)); - } - if ((n = write (audio, wavfile_okay, size)) < 0) - { - tst_brkm (TFAIL, cleanup, "write: %s", strerror (errno)); - } - if (n != size) - { - tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, size); - } - if (ioctl (audio, SNDCTL_DSP_RESET, &ioctl_par) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl DSP_RESET: %s", strerror (errno)); - } - if (close (audio) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } - tst_resm (TPASS, "Playwav + ioctl DSP_RESET=%d", ioctl_par); -} - -void -playwavtest (void) -{ - int audio; - int size = sizeof (wavfile_okay); - int n; - - tst_resm (TINFO, "Running %s", __FUNCTION__); - audio = open ("/dev/dsp", O_WRONLY); - if (audio < 0) - { - tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s", - strerror (errno)); - } - if ((n = write (audio, wavfile_okay, size)) < 0) - { - tst_brkm (TFAIL, cleanup, "write: %s", strerror (errno)); - } - if (n != size) - { - tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, size); - } - if (close (audio) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } - tst_resm (TPASS, "Set parameters from wave file header"); -} - -void dup_test (void) -{ - int audio, fd, n; - int bits1, bits2; - int size = sizeof (wavfile_okay); - int header = 44; - const char *okay = wavfile_okay + header; - - tst_resm (TINFO, "Running %s", __FUNCTION__); - audio = open ("/dev/dsp", O_WRONLY); - if (audio < 0) - { - tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s", - strerror (errno)); - } - /* write header once to set parameters correctly */ - n = write (audio, wavfile_okay, header); - if (n != header) - { - tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, header); - } - size = size - header; - /* dup / close */ - for (fd = audio+1; fd <= audio+5; fd++) - if (dup2 (fd-1, fd) != -1) - { - if (fd-2 >= audio) - if (close (fd-2) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } - if ((n = write (fd, okay, size)) < 0) - { - tst_brkm (TFAIL, cleanup, "write: %s", strerror (errno)); - } - if (n != size) - { - tst_brkm (TFAIL, cleanup, "Wrote %d, expected %d; exit", n, size); - } - } - else - tst_brkm (TFAIL, cleanup, "dup: %s", strerror (errno)); - - for (fd = audio+4; fd <= audio+5; fd++) - if (close (fd) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } - tst_resm (TPASS, "Write to duped fd"); - - audio = open ("/dev/dsp", O_WRONLY); - if (audio < 0) - { - tst_brkm (TFAIL, cleanup, "Error open /dev/dsp W: %s", - strerror (errno)); - } - fd = audio + 1; - if (dup2 (audio, fd) == -1) - { - tst_brkm (TFAIL, cleanup, "dup: %s", strerror (errno)); - } - bits1 = AFMT_U8; - if (ioctl (audio, SNDCTL_DSP_SAMPLESIZE, &bits1) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl: %s", strerror (errno)); - } - bits1 = AFMT_S16_LE; - if (ioctl (fd, SNDCTL_DSP_SAMPLESIZE, &bits1) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl: %s", strerror (errno)); - } - bits1 = AFMT_QUERY; - if (ioctl (audio, SNDCTL_DSP_SAMPLESIZE, &bits1) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl: %s", strerror (errno)); - } - bits2 = AFMT_QUERY; - if (ioctl (fd, SNDCTL_DSP_SAMPLESIZE, &bits2) < 0) - { - tst_brkm (TFAIL, cleanup, "ioctl: %s", strerror (errno)); - } - if (bits1 != AFMT_S16_LE || bits2 != AFMT_S16_LE) - { - tst_brkm (TFAIL, cleanup, "Inconsistent state of duped fd: %d %d %d", - AFMT_S16_LE,bits1,bits2); - } - if (close (audio) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } - if (close (fd) < 0) - { - tst_brkm (TFAIL, cleanup, "Close audio: %s", strerror (errno)); - } - tst_resm (TPASS, "Parameter change to duped fd"); -} -void -cleanup (void) -{ -} -- cgit v1.2.3