delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/06/09/13:12:22

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <0D520CD6A16F6040938C64B43E99680663546B@ca-canpost1.legato.com>
From: Jonathan Wackley <jwackley AT legato DOT com>
To: "'cygwin AT cygwin DOT com'" <cygwin AT cygwin DOT com>
Cc: "'jonw AT mountaincable DOT net'" <jonw AT mountaincable DOT net>
Subject: Possible race condition bug in pthread_cond_broadcast/pthread_con
d_wait?
Date: Mon, 9 Jun 2003 13:11:43 -0400
MIME-Version: 1.0
Note-from-DJ: This may be spam

------_=_NextPart_000_01C32EA6.C7901BE8
Content-Type: text/plain;
	charset="iso-8859-1"


Hi,

Created small test program showing possible implementation options for
barriers.  This test program works on a number of platforms and machines.  I
found that it does not work as expected under cygwin, while it does work
using mingw.  This implementation is improved upon in later versions and is
intended to show how development could progress through iterations.  Please
not that cygcheck.out is attached to this e-mail.

Here is the source code;

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <semaphore.h>
#include <pthread.h>

#define NUMBER_OF_THREADS (3)
#define COUNTER_MAX (10)

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t barrier_condition = PTHREAD_COND_INITIALIZER;
sem_t barrier_semaphore;

void *
pthread_func( void * startup_argument ) {

	static int thread_counter = 0;
	int counter = 0;
	long thread_id = ( long ) startup_argument;
	long dummy = 0;

	pthread_mutex_lock( &mutex );
	printf( "Started (%d)\n", thread_id );
	if ( ++thread_counter == NUMBER_OF_THREADS ) {
		printf( "rendezvous\n" );
		sem_post( &barrier_semaphore );
	}
	pthread_cond_wait( &barrier_condition, &mutex );
	pthread_mutex_unlock( &mutex );

	for ( counter = 0; counter < COUNTER_MAX; counter++ ) {
		dummy = counter * counter;
		pthread_mutex_lock( &mutex );
		printf( "Got here (%ld): %d %ld\n", thread_id, counter,
dummy );
		pthread_mutex_unlock( &mutex );
	}

	pthread_mutex_lock( &mutex );
	if ( --thread_counter == 0 ) {
		printf( "Posting for last thread\n" );
		sem_post( &barrier_semaphore );
	}
	pthread_mutex_unlock( &mutex );

	return 0;
}

int
main( int argc, char * argv[ ] ) {

	int status = 0;
	long counter = 0;

	void * join_status = 0;

	pthread_attr_t thread_attributes;
	pthread_t thread_id[ NUMBER_OF_THREADS ];

	status = sem_init( &barrier_semaphore, 0, 0 );

	if ( status != 0 ) {
		printf( "Semaphore failed: %s\n", strerror( status ) );
		exit( 0 );
	}

	pthread_attr_init( &thread_attributes );
	pthread_attr_setscope( &thread_attributes, PTHREAD_SCOPE_SYSTEM );

	for ( counter = 0; counter < NUMBER_OF_THREADS; counter++ ) {
		status = pthread_create( thread_id + counter,
&thread_attributes, pthread_func, ( void * ) counter );
		if ( status != 0 ) {
			printf( "Thread create failed: %s\n", strerror(
status ) );
			exit( 0 );
		}
		pthread_mutex_lock( &mutex );
		printf( "Thread creation status(%d): %d\n", counter, status
);
		pthread_mutex_unlock( &mutex );
	}

	sem_wait( &barrier_semaphore );
	pthread_mutex_lock( &mutex );
	printf( "About to broadcast to threads\n" );
	pthread_cond_broadcast( &barrier_condition );
	pthread_mutex_unlock( &mutex );
	sem_wait( &barrier_semaphore );

	for ( counter = 0; counter < NUMBER_OF_THREADS; counter++ ) {
		status = pthread_join( thread_id[ counter ], &join_status );
		pthread_mutex_lock( &mutex );
		printf( "Thread join status(%d): %d\n", counter, status );
		pthread_mutex_unlock( &mutex );
	}

	return 0;

}

cygwin compile command line: gcc -D_POSIX_C_SOURCE=199506L -o pthread_test
pthread_test.c -lpthread
mingw compile command line: $ gcc -mno-cygwin -D_POSIX_C_SOURCE=199506L -o
pthread_test pthread_test.c -lpthreadGC

mingw output;

$ ./pthread_test
Thread creation status(0): 0
Thread creation status(1): 0
Thread creation status(2): 0
Started (0)
Started (1)
Started (2)
rendezvous
About to broadcast to threads
Got here (0): 0 0
Got here (1): 0 0
Got here (0): 1 1
Got here (1): 1 1
Got here (0): 2 4
Got here (1): 2 4
Got here (0): 3 9
Got here (1): 3 9
Got here (0): 4 16
Got here (1): 4 16
Got here (0): 5 25
Got here (1): 5 25
Got here (0): 6 36
Got here (1): 6 36
Got here (0): 7 49
Got here (1): 7 49
Got here (0): 8 64
Got here (1): 8 64
Got here (0): 9 81
Got here (1): 9 81
Got here (2): 0 0
Got here (2): 1 1
Got here (2): 2 4
Got here (2): 3 9
Got here (2): 4 16
Got here (2): 5 25
Got here (2): 6 36
Got here (2): 7 49
Got here (2): 8 64
Got here (2): 9 81
Posting for last thread
Thread join status(0): 0
Thread join status(1): 0
Thread join status(2): 0

Output from cygwin;

$ ./pthread_test
Thread creation status(0): 0
Thread creation status(1): 0
Thread creation status(2): 0
Started (0)
Started (1)
Started (2)
rendezvous
About to broadcast to threads
Got here (0): 0 0
Got here (0): 1 1
Got here (0): 2 4
Got here (0): 3 9
Got here (0): 4 16
Got here (0): 5 25
Got here (0): 6 36
Got here (0): 7 49
Got here (0): 8 64
Got here (0): 9 81
Got here (1): 0 0
Got here (1): 1 1
Got here (1): 2 4
Got here (1): 3 9
Got here (1): 4 16
Got here (1): 5 25
Got here (1): 6 36
Got here (1): 7 49
Got here (1): 8 64
Got here (1): 9 81

Where it hangs, last thread does not start.  I modified the program to sleep
for a second and re-broadcast on the condition variable where it then works.
Here is the modification;

        sem_wait( &barrier_semaphore );
        pthread_mutex_lock( &mutex );
        printf( "About to broadcast to threads\n" );
        pthread_cond_broadcast( &barrier_condition );
        pthread_mutex_unlock( &mutex );
        sleep( 1 );
        pthread_mutex_lock( &mutex );
        printf( "About to broadcast to threads (again)\n" );
        pthread_cond_broadcast( &barrier_condition );
        pthread_mutex_unlock( &mutex );
        sem_wait( &barrier_semaphore );

And here is the output;

$ ./pthread_test
Thread creation status(0): 0
Thread creation status(1): 0
Thread creation status(2): 0
Started (0)
Started (1)
Started (2)
rendezvous
About to broadcast to threads
Got here (0): 0 0
Got here (0): 1 1
Got here (0): 2 4
Got here (0): 3 9
Got here (0): 4 16
Got here (0): 5 25
Got here (0): 6 36
Got here (0): 7 49
Got here (0): 8 64
Got here (0): 9 81
Got here (1): 0 0
Got here (1): 1 1
Got here (1): 2 4
Got here (1): 3 9
Got here (1): 4 16
Got here (1): 5 25
Got here (1): 6 36
Got here (1): 7 49
Got here (1): 8 64
Got here (1): 9 81
About to broadcast to threads (again)
Got here (2): 0 0
Got here (2): 1 1
Got here (2): 2 4
Got here (2): 3 9
Got here (2): 4 16
Got here (2): 5 25
Got here (2): 6 36
Got here (2): 7 49
Got here (2): 8 64
Got here (2): 9 81
Posting for last thread
Thread join status(0): 0
Thread join status(1): 0
Thread join status(2): 0

As I mentioned earlier there are much better ways to implement a barrier.
From what I can see this code should work, though it may not be elegant.  As
a demonstration it works on AIX, HP, Tru64, Win32 (pthread-win32), mingw
(with pthread-win32) Linux and Mac OS/X.  It is somewhat surprising that it
does not work as expected on cygwin.  It may be a silly oversight on my
side, I just can't find what it may be.  If it matters, I am not on the
mailing list so please send comments/directions directly to me.

Thanks,
jonw


 <<cygcheck.out>> 

------_=_NextPart_000_01C32EA6.C7901BE8
Content-Type: application/octet-stream;
	name="cygcheck.out"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="cygcheck.out"


Cygwin Win95/NT Configuration Diagnostics
Current System Time: Mon Jun 09 12:49:04 2003

Windows NT Ver 4.0 Build 1381 Service Pack 6

Path:	E:\cygwin\usr\local\bin
	E:\cygwin\bin
	E:\cygwin\bin
	s:\usr\src\nw_6_1\tools\nt86
	c:\Program Files\Microsoft Visual Studio\VC98\Bin
	c:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\IDE
	c:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
	e:\SFU\common\
	c:\SFU\Perl\bin\
	e:\SFU\Perl\bin\
	c:\WINNT\system32
	c:\WINNT
	e:\Utilities\Mks
	c:\Program Files\nsr\bin
	e:\cvs
	c:\WINNT\System32\WBEM
	s:\ACE_TAO\ACE_wrappers\build-NT\ace
	c:\Program Files\Microsoft Visual Studio\VC98\Bin
	e:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT
	e:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin
	e:\Program Files\Microsoft Visual Studio\Common\Tools
	e:\Program Files\Microsoft Visual Studio\VC98\bin
	e:\Program Files\Platform SDK\BIN\WINNT
	e:\Program Files\Platform SDK\BIN

E:\cygwin\bin\id.exe output (nontsec)
UID: 1001(jwackley)  GID: 513(None)
513(None)

E:\cygwin\bin\id.exe output (ntsec)
UID: 1001(jwackley)  GID: 513(None)
544(Administrators)  545(Users)

SysDir: C:\WINNT\System32
WinDir: C:\WINNT

HOME =3D `f:\jwackley'
LD_LIBRARY_PATH =3D `\usr\lib:\usr\X11R5\lib'
MAKE_MODE =3D `unix'
PWD =3D =
`/cygdrive/s/pthreads-win32/pthreads-snap-2003-05-10/tests/home_test'
USER =3D `jwackley'

!EXITCODE =3D `00000000'
ACE_ROOT =3D `s:\ACE_TAO\ACE_wrappers\build-NT'
BASEMAKE =3D `E:\Program Files\Platform SDK\INCLUDE\BKOFFICE.MAK'
BKOFFICE =3D `E:\Program Files\Platform SDK\'
BUILD_NSR_CATALOG =3D `off'
COMPUTERNAME =3D `NAGANO'
COMSPEC =3D `C:\WINNT\system32\cmd.exe'
CPU =3D `i386'
CVSREAD =3D `1'
CVSROOT =3D `:pserver:jwackley AT cvsserver DOT legato DOT com:/usr/src/cvs_root'
DISPLAY =3D `NAGANO:0.0'
DXSDKROOT =3D `E:\Program Files\Platform SDK'
EDITOR =3D `vi'
HOMEDRIVE =3D `C:'
HOMEPATH =3D `\'
INCLUDE =3D `E:\Program Files\Microsoft Visual =
Studio\VC98\atl\include;E:\Program Files\Microsoft Visual =
Studio\VC98\mfc\include;E:\Program Files\Microsoft Visual =
Studio\VC98\include;E:\Program Files\Platform SDK\INCLUDE;D:\Program =
Files\Microsoft Visual Studio\VC98\atl\include;D:\Program =
Files\Microsoft Visual Studio\VC98\mfc\include;D:\Program =
Files\Microsoft Visual Studio\VC98\include'
INETSDK =3D `E:\Program Files\Platform SDK'
INTERIX_COMPILERDIR =3D `/dev/fs/C/Program Files/Microsoft Visual =
Studio'
INTERIX_ROOT =3D `/dev/fs/E/SFU/'
INTERIX_ROOT_WIN =3D `E:\SFU\'
LIB =3D `E:\Program Files\Microsoft Visual =
Studio\VC98\mfc\lib;E:\Program Files\Microsoft Visual =
Studio\VC98\lib;E:\Program Files\Platform SDK\LIB;D:\Program =
Files\Microsoft Visual Studio\VC98\mfc\lib;D:\Program Files\Microsoft =
Visual Studio\VC98\lib'
LOGONSERVER =3D `\\BURLOAK'
MAKESTARTUP =3D `S:\usr\src\nw_6_1\startup.mk'
MANPATH =3D `:/usr/ssl/man'
MSDDK_ROOT =3D `E:\ntddk'
MSDEVDIR =3D `C:\progra~1\micros~1\Common\MSDev98'
MSSDK =3D `E:\Program Files\Platform SDK'
MSSDK_ROOT =3D `E:\progra~1\platfo~1'
MSTOOLS =3D `E:\Program Files\Platform SDK'
MSVC_ROOT =3D `C:\progra~1\micros~1\vc98'
NUMBER_OF_PROCESSORS =3D `1'
NWARCH =3D `nt86'
NWTOP =3D `S:\usr\src\nw_6_1'
OLDPWD =3D `/cygdrive/s'
OPENNT_ROOT =3D `/dev/fs/E/SFU/'
OS2LIBPATH =3D `C:\WINNT\system32\os2\dll;'
OS =3D `Windows_NT'
PATHEXT =3D `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PROCESSOR_ARCHITECTURE =3D `x86'
PROCESSOR_IDENTIFIER =3D `x86 Family 6 Model 5 Stepping 1, =
GenuineIntel'
PROCESSOR_LEVEL =3D `6'
PROCESSOR_REVISION =3D `0501'
PROMPT =3D `$P$G'
PS1 =3D `\[\033]0;\w\007
\033[32m\]\u@\h \[\033[33m\w\033[0m\]
$ '
SFUDIR =3D `E:\SFU\'
SFUDIR_INTERIX =3D `/dev/fs/E/SFU/'
SHLVL =3D `1'
SYSTEMDRIVE =3D `C:'
SYSTEMROOT =3D `C:\WINNT'
TEMP =3D `c:\TEMP'
TERM =3D `cygwin'
TMP =3D `c:\TEMP'
TPKGS =3D `O:\tpkgs'
USERDOMAIN =3D `LEGATO-MV'
USERNAME =3D `jwackley'
USERPROFILE =3D `C:\WINNT\Profiles\jwackley.001'
WINDIR =3D `C:\WINNT'
XAPPLRESDIR =3D `/usr/X11R5/lib/X11/app-defaults'
XCMSDB =3D `/usr/X11R5/lib/X11/Xcms.txt'
XKEYSYMDB =3D `/usr/X11R5/lib/X11/XKeysymDB'
XNLSPATH =3D `/usr/X11R5/lib/X11/nls'
_ =3D `/usr/bin/cygcheck'

HKEY_CURRENT_USER\Software\Cygnus Solutions
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
  (default) =3D `/cygdrive'
  cygdrive flags =3D 0x00000022
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/d_dr
  (default) =3D `\cygdrive\d'
  flags =3D 0x00000000
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\00
  (default) =3D `\\.\tape1:'
  unix =3D `/dev/st1'
  fbinary =3D 0x00000000
  fsilent =3D 0x00000001
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\01
  (default) =3D `\\.\tape0:'
  unix =3D `/dev/st0'
  fbinary =3D 0x00000000
  fsilent =3D 0x00000001
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\02
  (default) =3D `\\.\b:'
  unix =3D `/dev/fd1'
  fbinary =3D 0x00000000
  fsilent =3D 0x00000001
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\03
  (default) =3D `\\.\a:'
  unix =3D `/dev/fd0'
  fbinary =3D 0x00000000
  fsilent =3D 0x00000001
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\04
  (default) =3D `C:'
  unix =3D `/'
  fbinary =3D 0x00000000
  fsilent =3D 0x00000000
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
  (default) =3D `/cygdrive'
  cygdrive flags =3D 0x00000022
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
  (default) =3D `E:/cygwin'
  flags =3D 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) =3D `E:/cygwin/bin'
  flags =3D 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
  (default) =3D `E:/cygwin/lib'
  flags =3D 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\00
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\01
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\02
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\03
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\04
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\05
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\06
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\07
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\08
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\09
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\0A
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\0B
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\0C
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\0D
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\0E
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\0F
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\10
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\11
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\12
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\13
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\14
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\15
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\16
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\17
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\18
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\19
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\1A
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\1B
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\1C
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL =
setup\b15.0\mounts\1D

a:  fd           N/A    N/A                   =20
c:  hd  NTFS    2047Mb  62% CP CS UN PA FC     System
d:  hd  NTFS    8056Mb  24% CP CS UN PA FC     Space
e:  hd  NTFS    2996Mb  63% CP CS UN PA FC     Programs
f:  hd  NTFS    4494Mb   1% CP CS UN PA FC     Work
g:  cd           N/A    N/A                   =20
o:  net NTFS   45361Mb  73%          PA        nt86_tools
s:  net NFS    16217Mb  83% CP                =20

\cygdrive\d    /d_dr      user    textmode
.              /cygdrive  user    binmode,cygdrive
E:/cygwin      /          system  binmode
E:/cygwin/bin  /usr/bin   system  binmode
E:/cygwin/lib  /usr/lib   system  binmode
.              /cygdrive  system  binmode,cygdrive

Found: E:\cygwin\bin\awk.exe
Found: E:\cygwin\bin\bash.exe
Found: E:\cygwin\bin\cat.exe
Found: e:\SFU\common\cat.exe
Warning: E:\cygwin\bin\cat.exe hides e:\SFU\common\cat.exe
Found: e:\Utilities\Mks\cat.exe
Warning: E:\cygwin\bin\cat.exe hides e:\Utilities\Mks\cat.exe
Found: E:\cygwin\bin\cp.exe
Found: e:\SFU\common\cp.exe
Warning: E:\cygwin\bin\cp.exe hides e:\SFU\common\cp.exe
Found: e:\Utilities\Mks\cp.exe
Warning: E:\cygwin\bin\cp.exe hides e:\Utilities\Mks\cp.exe
Found: E:\cygwin\bin\cpp.exe
Found: E:\cygwin\bin\find.exe
Found: e:\SFU\common\find.exe
Warning: E:\cygwin\bin\find.exe hides e:\SFU\common\find.exe
Found: e:\Utilities\Mks\find.exe
Warning: E:\cygwin\bin\find.exe hides e:\Utilities\Mks\find.exe
Found: E:\cygwin\bin\gcc.exe
Found: E:\cygwin\bin\gdb.exe
Found: E:\cygwin\bin\grep.exe
Found: e:\SFU\common\grep.exe
Warning: E:\cygwin\bin\grep.exe hides e:\SFU\common\grep.exe
Found: e:\Utilities\Mks\grep.exe
Warning: E:\cygwin\bin\grep.exe hides e:\Utilities\Mks\grep.exe
Found: E:\cygwin\bin\ld.exe
Found: E:\cygwin\bin\ls.exe
Found: e:\SFU\common\ls.exe
Warning: E:\cygwin\bin\ls.exe hides e:\SFU\common\ls.exe
Found: e:\Utilities\Mks\ls.exe
Warning: E:\cygwin\bin\ls.exe hides e:\Utilities\Mks\ls.exe
Found: E:\cygwin\bin\make.exe
Found: E:\cygwin\bin\mv.exe
Found: e:\SFU\common\mv.exe
Warning: E:\cygwin\bin\mv.exe hides e:\SFU\common\mv.exe
Found: e:\Utilities\Mks\mv.exe
Warning: E:\cygwin\bin\mv.exe hides e:\Utilities\Mks\mv.exe
Found: E:\cygwin\bin\rm.exe
Found: e:\SFU\common\rm.exe
Warning: E:\cygwin\bin\rm.exe hides e:\SFU\common\rm.exe
Found: e:\Utilities\Mks\rm.exe
Warning: E:\cygwin\bin\rm.exe hides e:\Utilities\Mks\rm.exe
Found: e:\Program Files\Platform SDK\BIN\rm.exe
Warning: E:\cygwin\bin\rm.exe hides e:\Program Files\Platform =
SDK\BIN\rm.exe
Found: E:\cygwin\bin\sed.exe
Found: e:\SFU\common\sed.exe
Warning: E:\cygwin\bin\sed.exe hides e:\SFU\common\sed.exe
Found: e:\Utilities\Mks\sed.exe
Warning: E:\cygwin\bin\sed.exe hides e:\Utilities\Mks\sed.exe
Found: E:\cygwin\bin\sh.exe
Found: e:\Utilities\Mks\sh.exe
Warning: E:\cygwin\bin\sh.exe hides e:\Utilities\Mks\sh.exe
Found: E:\cygwin\bin\tar.exe
Found: e:\Utilities\Mks\tar.exe
Warning: E:\cygwin\bin\tar.exe hides e:\Utilities\Mks\tar.exe

   58k 2002/05/07 E:\cygwin\bin\cygbz2-1.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygbz2-1.dll" v0.0 ts=3D2002/5/7 2:33
  848k 2003/04/11 E:\cygwin\bin\cygcrypto-0.9.7.dll - os=3D4.0 =
img=3D1.0 sys=3D4.0
                  "cygcrypto-0.9.7.dll" v0.0 ts=3D2003/4/11 6:33
  645k 2003/04/11 E:\cygwin\bin\cygcrypto.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygcrypto.dll" v0.0 ts=3D2003/4/11 6:37
  380k 2002/07/24 E:\cygwin\bin\cygdb-3.1.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygdb-3.1.dll" v0.0 ts=3D2002/7/24 12:24
  487k 2002/07/24 E:\cygwin\bin\cygdb_cxx-3.1.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygdb_cxx-3.1.dll" v0.0 ts=3D2002/7/24 12:25
   45k 2001/04/25 E:\cygwin\bin\cygform5.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygform5.dll" v0.0 ts=3D2001/4/25 1:28
   35k 2002/01/09 E:\cygwin\bin\cygform6.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygform6.dll" v0.0 ts=3D2002/1/9 1:03
   76k 2003/03/09 E:\cygwin\bin\cygform7.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygform7.dll" v0.0 ts=3D2003/3/9 15:51
   28k 2003/03/22 E:\cygwin\bin\cyggdbm-3.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cyggdbm-3.dll" v0.0 ts=3D2003/3/22 17:19
   19k 2003/03/22 E:\cygwin\bin\cyggdbm.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cyggdbm.dll" v0.0 ts=3D2002/2/19 22:05
   15k 2003/03/22 E:\cygwin\bin\cyggdbm_compat-3.dll - os=3D4.0 =
img=3D1.0 sys=3D4.0
                  "cyggdbm_compat-3.dll" v0.0 ts=3D2003/3/22 17:22
   17k 2001/06/28 E:\cygwin\bin\cyghistory4.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cyghistory4.dll" v0.0 ts=3D2001/1/6 23:34
   20k 2002/10/10 E:\cygwin\bin\cyghistory5.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cyghistory5.dll" v0.0 ts=3D2002/10/10 13:28
  929k 2002/06/24 E:\cygwin\bin\cygiconv-2.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygiconv-2.dll" v0.0 ts=3D2002/6/24 14:24
   22k 2001/12/13 E:\cygwin\bin\cygintl-1.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygintl-1.dll" v0.0 ts=3D2001/12/13 4:28
   28k 2002/09/20 E:\cygwin\bin\cygintl-2.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygintl-2.dll" v0.0 ts=3D2002/9/19 23:13
   21k 2001/06/20 E:\cygwin\bin\cygintl.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygintl.dll" v0.0 ts=3D2001/6/20 13:09
   47k 2003/03/09 E:\cygwin\bin\cygjbig1.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygjbig1.dll" v0.0 ts=3D2003/3/9 16:30
  119k 2002/02/09 E:\cygwin\bin\cygjpeg6b.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygjpeg6b.dll" v0.0 ts=3D2002/2/9 0:19
   26k 2001/04/25 E:\cygwin\bin\cygmenu5.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygmenu5.dll" v0.0 ts=3D2001/4/25 1:27
   20k 2002/01/09 E:\cygwin\bin\cygmenu6.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygmenu6.dll" v0.0 ts=3D2002/1/9 1:03
   48k 2003/03/09 E:\cygwin\bin\cygmenu7.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygmenu7.dll" v0.0 ts=3D2003/3/9 15:51
  156k 2001/04/25 E:\cygwin\bin\cygncurses++5.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygncurses++5.dll" v0.0 ts=3D2001/4/25 1:29
  175k 2002/01/09 E:\cygwin\bin\cygncurses++6.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygncurses++6.dll" v0.0 ts=3D2002/1/9 1:03
  226k 2001/04/25 E:\cygwin\bin\cygncurses5.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygncurses5.dll" v0.0 ts=3D2001/4/25 1:17
  202k 2002/01/09 E:\cygwin\bin\cygncurses6.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygncurses6.dll" v0.0 ts=3D2002/1/9 1:03
  284k 2003/03/09 E:\cygwin\bin\cygncurses7.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygncurses7.dll" v0.0 ts=3D2003/3/9 15:50
   15k 2001/04/25 E:\cygwin\bin\cygpanel5.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygpanel5.dll" v0.0 ts=3D2001/4/25 1:27
   12k 2002/01/09 E:\cygwin\bin\cygpanel6.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygpanel6.dll" v0.0 ts=3D2002/1/9 1:03
   31k 2003/03/09 E:\cygwin\bin\cygpanel7.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygpanel7.dll" v0.0 ts=3D2003/3/9 15:50
   63k 2003/04/11 E:\cygwin\bin\cygpcre.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygpcre.dll" v0.0 ts=3D2003/4/11 4:31
   61k 2003/04/11 E:\cygwin\bin\cygpcreposix.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygpcreposix.dll" v0.0 ts=3D2003/4/11 4:31
 1069k 2003/06/02 E:\cygwin\bin\cygperl5_8_0.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygperl5_8_0.dll" v0.0 ts=3D2003/6/2 8:01
  173k 2003/02/23 E:\cygwin\bin\cygpng12.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygpng12.dll" v0.0 ts=3D2003/2/23 17:02
   22k 2002/06/09 E:\cygwin\bin\cygpopt-0.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygpopt-0.dll" v0.0 ts=3D2002/6/9 1:45
  108k 2001/06/28 E:\cygwin\bin\cygreadline4.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygreadline4.dll" v0.0 ts=3D2001/1/6 23:34
  127k 2002/10/10 E:\cygwin\bin\cygreadline5.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygreadline5.dll" v0.0 ts=3D2002/10/10 13:28
  176k 2003/04/11 E:\cygwin\bin\cygssl-0.9.7.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygssl-0.9.7.dll" v0.0 ts=3D2003/4/11 6:33
  165k 2003/04/11 E:\cygwin\bin\cygssl.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygssl.dll" v0.0 ts=3D2003/4/11 6:37
  281k 2003/02/24 E:\cygwin\bin\cygtiff3.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygtiff3.dll" v0.0 ts=3D2003/2/23 23:58
   41k 2002/01/20 E:\cygwin\bin\cygXpm-noX4.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygXpm-noX4.dll" v0.0 ts=3D2002/1/20 13:49
   46k 2002/01/20 E:\cygwin\bin\cygXpm-X4.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygXpm-X4.dll" v0.0 ts=3D2002/1/20 13:50
   50k 2002/03/12 E:\cygwin\bin\cygz.dll - os=3D4.0 img=3D1.0 sys=3D4.0
                  "cygz.dll" v0.0 ts=3D2002/3/11 23:38
  948k 2003/03/18 E:\cygwin\bin\cygwin1.dll - os=3D4.0 img=3D1.0 =
sys=3D4.0
                  "cygwin1.dll" v0.0 ts=3D2003/3/18 9:20
    Cygwin DLL version info:
        DLL version: 1.3.22
        DLL epoch: 19
        DLL bad signal mask: 19005
        DLL old termios: 5
        DLL malloc env: 28
        API major: 0
        API minor: 78
        Shared data: 3
        DLL identifier: cygwin1
        Mount registry: 2
        Cygnus registry name: Cygnus Solutions
        Cygwin registry name: Cygwin
        Program options name: Program Options
        Cygwin mount registry name: mounts v2
        Cygdrive flags: cygdrive flags
        Cygdrive prefix: cygdrive prefix
        Cygdrive default prefix:=20
        Build date: Tue Mar 18 09:20:11 EST 2003
        CVS tag: dontuse-21
        Shared id: cygwin1S3


Cygwin Package Information
Last downloaded files to: D:\cygwin_install
Last downloaded files from: http://mirrors.xmission.com/cygwin

Package              Version
_update-info-dir     00167-1
ash                  20020731-1
autoconf             2.54-1
autoconf-devel       2.57-1
autoconf-stable      2.13-4
automake             1.7.1-1
automake-devel       1.7.3-1
automake-stable      1.4p5-5
base-files           1.3-1
base-passwd          1.1-1
bash                 2.05b-9
binutils             20030307-1
bison                20030307-1
byacc                1.9-1
bzip2                1.0.2-2
clear                1.0-1
cpio                 2.5-1
cron                 3.0.1-9
crypt                1.0-1
ctags                5.5-3
cvs                  1.11.5-1
cygrunsrv            0.96-1
cygutils             1.1.3-1
cygwin               1.3.22-1
cygwin-doc           1.3-4
dejagnu              20021217-2
diff                 1.0-1
diffutils            2.8.1-1
expect               20030128-1
file                 4.02-1
fileutils            4.1-1
findutils            4.1.7-4
flex                 2.5.4-2
gawk                 3.1.2-2
gcc                  3.2-3
gcc-mingw            20020817-5
gdb                  20030303-1
gdbm                 1.8.3-1
gettext              0.11.5-1
ghostscript          7.05-2
ghostscript-base     7.05-2
gperf                2.7.2-1
grep                 2.5-1
groff                1.18.1-2
gzip                 1.3.3-4
inetutils            1.3.2-22
irc                  20010101-1
jbigkit              1.4-1
jpeg                 6b-7
less                 378-1
libbz2_1             1.0.2-2
libdb3.1             3.1.17-2
libgdbm              1.8.0-5
libgdbm-devel        1.8.3-1
libgdbm3             1.8.3-1
libiconv2            1.8-2
libintl              0.10.38-3
libintl1             0.10.40-1
libintl2             0.11.5-1
libncurses-devel     5.3-1
libncurses5          5.2-1
libncurses6          5.2-8
libncurses7          5.3-1
libpng               1.2.5-1
libpng12             1.2.5-1
libpopt0             1.6.4-4
libreadline4         4.1-2
libreadline5         4.3-2
login                1.8-1
lynx                 2.8.4-5
m4                   1.4-1
make                 3.79.1-7
man                  1.5j-2
mingw                20010917-1
mingw-runtime        3.0-1
mktemp               1.4-1
mt                   2.0.1-1
mutt                 1.4-1
ncftp                3.1.4-1
ncurses              5.3-1
newlib-man           20020801
opengl               1.1.0-6
openssh              3.6.1p1-2
openssl              0.9.7b-1
openssl096           0.9.6j-1
patch                2.5.8-3
pcre                 4.1-1
perl                 5.8.0-3
popt                 1.6.4-4
postgresql           7.3.2-2
python               2.2.2-7
readline             4.3-2
regex                4.4
rsync                2.5.6-1
rxvt                 2.7.10-3
sed                  4.0.7-1
sh-utils             2.0.15-3
squid                2.4.STABLE7-1
ssmtp                2.38.7-3
tar                  1.13.25-1
tcltk                20030214-1
tcsh                 6.12.00-5
termcap              20020930-1
terminfo             5.3-2
tetex-beta           20001218-1
texinfo              4.2-4
textutils            2.0.21-1
tiff                 3.6.0-1
time                 1.7-1
unzip                5.50-2
vim                  6.2-1
w32api               2.3-1
wget                 1.8.2-2
which                1.5-1
xpm-nox              4.2.0-1
zip                  2.3-2
zlib                 1.1.4-1

Use -h to see help about each section


------_=_NextPart_000_01C32EA6.C7901BE8
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
------_=_NextPart_000_01C32EA6.C7901BE8--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019