Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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: <001e01c268b8$b9cebc80$6601ffbf@ashoka> From: "Mark Moraes" To: Subject: 1.3.12 bug: st_mode of file changes to directory after unlink? Date: Mon, 30 Sep 2002 12:36:44 -0700 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_001B_01C2687E.090FBEB0" X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 Note-from-DJ: This may be spam ------=_NextPart_000_001B_01C2687E.090FBEB0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi. If I open a file for read/write and then unlink it (the old Unix idiom for temporary files), fstat() on the file's fd shows that st_mode has changed from regular file to directory. Regards, Mark. : ASHOKA ; ./xx /tmp/bt.XXXXXX before unlink: mode 0x81a4 fmt 0x8000 size 0 after unlink: mode 0x416d fmt 0x4000 size 0 ------=_NextPart_000_001B_01C2687E.090FBEB0 Content-Type: application/octet-stream; name="xx.c" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="xx.c" #include =0A= #include =0A= #include =0A= #include =0A= #include =0A= #include =0A= =0A= int=0A= main()=0A= {=0A= int fd;=0A= char *envtmp;=0A= char path[MAXPATHLEN];=0A= struct stat sb;=0A= =0A= envtmp =3D getenv("TMPDIR");=0A= (void)sprintf(path,=0A= "%s/bt.XXXXXX", envtmp ? envtmp : "/tmp");=0A= =0A= fprintf(stderr, "%s\n", path);=0A= if ((fd =3D mkstemp(path)) !=3D -1) {=0A= if (fstat(fd, &sb))=0A= fprintf(stderr, "first fstat error, errno %d\n", errno);=0A= else=0A= fprintf(stderr, "before unlink: mode 0x%x fmt 0x%x size %ld\n", = sb.st_mode, sb.st_mode&_IFMT, (long) sb.st_size);=0A= (void)unlink(path);=0A= if (fstat(fd, &sb))=0A= fprintf(stderr, "second fstat error, errno %d\n", errno);=0A= else=0A= fprintf(stderr, "after unlink: mode 0x%x fmt 0x%x size %ld\n", = sb.st_mode, sb.st_mode&_IFMT, (long) sb.st_size);=0A= } else=0A= fprintf(stderr, "mkstemp failed, errno %d\n", errno);=0A= (void) close(fd);=0A= }=0A= ------=_NextPart_000_001B_01C2687E.090FBEB0 Content-Type: application/octet-stream; name="cygcheck.out" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="cygcheck.out" Cygwin Win95/NT Configuration Diagnostics Current System Time: Mon Sep 30 12:31:42 2002 Windows 2000 Professional Ver 5.0 Build 2195 Service Pack 2 Path: C:\Documents and Settings\mmoraes\My Documents\cyghome\bin C:\Documents and Settings\mmoraes\My Documents\cyghome\bin\CYGWIN_NT-5.0-i686 C:\opt\gnu\cygwin\usr\local\bin C:\opt\gnu\cygwin\usr\local\bin\netpbm C:\opt\gnu\cygwin\usr\X11R6\bin C:\opt\gnu\cygwin\usr\ucb C:\opt\gnu\cygwin\bin C:\opt\gnu\cygwin\bin C:\opt\gnu\cygwin\usr\sbin C:\opt\gnu\cygwin\sbin C:\opt\gnu\cygwin\usr\etc C:\opt\gnu\cygwin\etc c:\WINDOWS c:\WINDOWS\SYSTEM32 C:\opt\gnu\cygwin\usr\local\bin\sysinternals SysDir: C:\WINDOWS\System32 WinDir: C:\WINDOWS HOME = `C:\Documents and Settings\mmoraes\My Documents\cyghome' MAKE_MODE = `unix' PWD = `/cygdrive/c/Documents and Settings/mmoraes/My Documents/personal/archives/UNTAR/freemail/src/freemail/server/db' USER = `mmoraes' ALLUSERSPROFILE = `C:\DOCUME~1\ALLUSE~1' APPDATA = `C:\DOCUME~1\mmoraes\APPLIC~1' CLASSPATH = `C:\PROGRA~1\PHOTOD~1.0\ADOBEC~1' COMMONPROGRAMFILES = `C:\PROGRA~1\COMMON~1' COMPUTERNAME = `ASHOKA' COMSPEC = `C:\WINDOWS\system32\cmd.exe' EDITOR = `jove' GROUP = `None' HOMEDRIVE = `C:' HOMEPATH = `\' HOST = `ASHOKA' HOSTTYPE = `i386' LOGNAME = `mmoraes' LOGONSERVER = `\\ASHOKA' MACHTYPE = `i686' NUMBER_OF_PROCESSORS = `1' OS2LIBPATH = `C:\WINDOWS\system32\os2\dll;' OS = `Windows_NT' OSTYPE = `CYGWIN_NT-5.0' PAGER = `less' PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyw;.pyc;.pys;.tcl;.pyo' PROCESSOR_ARCHITECTURE = `x86' PROCESSOR_IDENTIFIER = `x86 Family 6 Model 8 Stepping 1, GenuineIntel' PROCESSOR_LEVEL = `6' PROCESSOR_REVISION = `0801' PROGRAMFILES = `C:\PROGRA~1' PROMPT = `$p$g' PYTHONPATH = `/home/mmoraes/lib/python' RSYNC_RSH = `ssh' SHLVL = `1' SYSTEMDRIVE = `C:' SYSTEMROOT = `C:\WINDOWS' TERM = `cygwin' TZ = `PST8PDT7,M4.1.0/2,M10.5.0/2' USERDOMAIN = `ASHOKA' USERNAME = `mmoraes' USERPROFILE = `C:\DOCUME~1\mmoraes' VENDOR = `intel' WINBOOTDIR = `C:\WINDOWS' dt = `dev.tor.teleias.com' dw = `dev.wc.teleias.com' mt = `master.dev.tor.teleias.com' mw = `master.dev.wc.teleias.com' mwe = `216.73.143.77' t = `teleias.com' tw = `test.wc.teleias.com' HKEY_CURRENT_USER\Software\Cygnus Solutions HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2 (default) = `/cygdrive' cygdrive flags = 0x00000022 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/ (default) = `C:\opt\gnu\cygwin' flags = 0x00000002 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/bin (default) = `C:\opt\gnu\cygwin/bin' flags = 0x00000002 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/lib (default) = `C:\opt\gnu\cygwin/lib' flags = 0x00000002 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\&Programs\Cygnus Solutions (default) = (unsupported type) HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder\Start Menu\Programs\Cygnus Solutions (default) = (unsupported type) HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home/mmoraes (default) = `C:\Documents and Settings\mmoraes\My Documents\cyghome' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/X11R6/lib/X11/fonts (default) = `C:\cygwin\usr\X11R6\lib\X11\fonts' flags = 0x0000000a HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options a: fd N/A N/A c: hd NTFS 7051Mb 92% CP CS UN PA FC d: cd N/A N/A s: net NTFS 34135Mb 58% CP CS PA software t: net NTFS 19348Mb 87% CP CS PA teleias C:\opt\gnu\cygwin / user binmode C:\opt\gnu\cygwin/bin /usr/bin user binmode C:\opt\gnu\cygwin/lib /usr/lib user binmode . /cygdrive user binmode,cygdrive C:\Documents and Settings\mmoraes\My Documents\cyghome /home/mmoraes system binmode C:\cygwin\usr\X11R6\lib\X11\fonts /usr/X11R6/lib/X11/fonts system binmode Found: C:\opt\gnu\cygwin\bin\bash.exe Found: C:\opt\gnu\cygwin\bin\cat.exe Found: C:\opt\gnu\cygwin\bin\cpp.exe Found: C:\opt\gnu\cygwin\bin\find.exe Found: C:\opt\gnu\cygwin\bin\gcc.exe Found: C:\opt\gnu\cygwin\bin\gdb.exe Found: C:\opt\gnu\cygwin\bin\ld.exe Found: C:\opt\gnu\cygwin\bin\ls.exe Found: C:\opt\gnu\cygwin\bin\make.exe Found: C:\opt\gnu\cygwin\bin\sh.exe 58k 2002/05/07 C:\opt\gnu\cygwin\bin\cygbz2-1.dll - os=4.0 img=1.0 sys=4.0 "cygbz2-1.dll" v0.0 ts=2002/5/6 23:33 54k 2002/01/27 C:\opt\gnu\cygwin\bin\cygbz21.0.dll - os=4.0 img=1.0 sys=4.0 "cygbz21.0.dll" v0.0 ts=2002/1/26 17:07 621k 2002/05/17 C:\opt\gnu\cygwin\bin\cygcrypto.dll - os=4.0 img=1.0 sys=4.0 "cygcrypto.dll" v0.0 ts=2002/5/17 5:24 45k 2001/04/25 C:\opt\gnu\cygwin\bin\cygform5.dll - os=4.0 img=1.0 sys=4.0 "cygform5.dll" v0.0 ts=2001/4/24 22:28 35k 2002/01/09 C:\opt\gnu\cygwin\bin\cygform6.dll - os=4.0 img=1.0 sys=4.0 "cygform6.dll" v0.0 ts=2002/1/8 22:03 19k 2002/02/20 C:\opt\gnu\cygwin\bin\cyggdbm.dll - os=4.0 img=1.0 sys=4.0 "cyggdbm.dll" v0.0 ts=2002/2/19 19:05 20k 2002/07/17 C:\opt\gnu\cygwin\bin\cyghistory5.dll - os=4.0 img=1.0 sys=4.0 "cyghistory5.dll" v0.0 ts=2002/7/17 14:18 929k 2002/06/24 C:\opt\gnu\cygwin\bin\cygiconv-2.dll - os=4.0 img=1.0 sys=4.0 "cygiconv-2.dll" v0.0 ts=2002/6/24 11:24 22k 2001/12/13 C:\opt\gnu\cygwin\bin\cygintl-1.dll - os=4.0 img=1.0 sys=4.0 "cygintl-1.dll" v0.0 ts=2001/12/13 1:28 23k 2002/06/24 C:\opt\gnu\cygwin\bin\cygintl-2.dll - os=4.0 img=1.0 sys=4.0 "cygintl-2.dll" v0.0 ts=2002/6/23 21:54 21k 2001/06/20 C:\opt\gnu\cygwin\bin\cygintl.dll - os=4.0 img=1.0 sys=4.0 "cygintl.dll" v0.0 ts=2001/6/20 10:09 81k 2001/10/20 C:\opt\gnu\cygwin\bin\cygitcl30.dll - os=4.0 img=1.0 sys=4.0 "cygitcl30.dll" v0.0 ts=2001/10/19 17:25 35k 2001/10/20 C:\opt\gnu\cygwin\bin\cygitk30.dll - os=4.0 img=1.0 sys=4.0 "cygitk30.dll" v0.0 ts=2001/10/19 17:25 45k 2002/02/08 C:\opt\gnu\cygwin\bin\cygjbig1.dll - os=4.0 img=1.0 sys=4.0 "cygjbig1.dll" v0.0 ts=2002/2/7 15:59 119k 2002/02/09 C:\opt\gnu\cygwin\bin\cygjpeg6b.dll - os=4.0 img=1.0 sys=4.0 "cygjpeg6b.dll" v0.0 ts=2002/2/8 21:19 26k 2001/04/25 C:\opt\gnu\cygwin\bin\cygmenu5.dll - os=4.0 img=1.0 sys=4.0 "cygmenu5.dll" v0.0 ts=2001/4/24 22:27 20k 2002/01/09 C:\opt\gnu\cygwin\bin\cygmenu6.dll - os=4.0 img=1.0 sys=4.0 "cygmenu6.dll" v0.0 ts=2002/1/8 22:03 156k 2001/04/25 C:\opt\gnu\cygwin\bin\cygncurses++5.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++5.dll" v0.0 ts=2001/4/24 22:29 175k 2002/01/09 C:\opt\gnu\cygwin\bin\cygncurses++6.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++6.dll" v0.0 ts=2002/1/8 22:03 226k 2001/04/25 C:\opt\gnu\cygwin\bin\cygncurses5.dll - os=4.0 img=1.0 sys=4.0 "cygncurses5.dll" v0.0 ts=2001/4/24 22:17 202k 2002/01/09 C:\opt\gnu\cygwin\bin\cygncurses6.dll - os=4.0 img=1.0 sys=4.0 "cygncurses6.dll" v0.0 ts=2002/1/8 22:03 15k 2001/04/25 C:\opt\gnu\cygwin\bin\cygpanel5.dll - os=4.0 img=1.0 sys=4.0 "cygpanel5.dll" v0.0 ts=2001/4/24 22:27 12k 2002/01/09 C:\opt\gnu\cygwin\bin\cygpanel6.dll - os=4.0 img=1.0 sys=4.0 "cygpanel6.dll" v0.0 ts=2002/1/8 22:03 40k 2001/11/21 C:\opt\gnu\cygwin\bin\cygpcre.dll - os=4.0 img=1.0 sys=4.0 "cygpcre.dll" v0.0 ts=2001/11/21 14:15 39k 2001/11/21 C:\opt\gnu\cygwin\bin\cygpcreposix.dll - os=4.0 img=1.0 sys=4.0 "cygpcreposix.dll" v0.0 ts=2001/11/21 14:15 175k 2002/07/22 C:\opt\gnu\cygwin\bin\cygpng10.dll - os=4.0 img=1.0 sys=4.0 "cygpng10.dll" v0.0 ts=2002/7/22 8:51 179k 2002/07/22 C:\opt\gnu\cygwin\bin\cygpng12.dll - os=4.0 img=1.0 sys=4.0 "cygpng12.dll" v0.0 ts=2002/7/22 9:03 170k 2002/01/21 C:\opt\gnu\cygwin\bin\cygpng2.dll - os=4.0 img=1.0 sys=4.0 "cygpng2.dll" v0.0 ts=2002/1/20 17:05 22k 2002/06/09 C:\opt\gnu\cygwin\bin\cygpopt-0.dll - os=4.0 img=1.0 sys=4.0 "cygpopt-0.dll" v0.0 ts=2002/6/8 22:45 127k 2002/07/17 C:\opt\gnu\cygwin\bin\cygreadline5.dll - os=4.0 img=1.0 sys=4.0 "cygreadline5.dll" v0.0 ts=2002/7/17 14:18 66k 2001/11/20 C:\opt\gnu\cygwin\bin\cygregex.dll - os=4.0 img=1.0 sys=4.0 "cygregex.dll" v0.0 ts=2001/11/20 6:44 156k 2002/05/17 C:\opt\gnu\cygwin\bin\cygssl.dll - os=4.0 img=1.0 sys=4.0 "cygssl.dll" v0.0 ts=2002/5/17 5:24 390k 2001/10/20 C:\opt\gnu\cygwin\bin\cygtcl80.dll - os=4.0 img=1.0 sys=4.0 "cygtcl80.dll" v0.0 ts=2001/10/19 17:24 5k 2001/10/20 C:\opt\gnu\cygwin\bin\cygtclpip80.dll - os=4.0 img=1.0 sys=4.0 10k 2001/10/20 C:\opt\gnu\cygwin\bin\cygtclreg80.dll - os=4.0 img=1.0 sys=4.0 "cygtclreg80.dll" v0.0 ts=2001/10/19 17:24 253k 2002/02/10 C:\opt\gnu\cygwin\bin\cygtiff3.dll - os=4.0 img=1.0 sys=4.0 "cygtiff3.dll" v0.0 ts=2002/2/10 0:34 623k 2001/10/20 C:\opt\gnu\cygwin\bin\cygtk80.dll - os=4.0 img=1.0 sys=4.0 "cygtk80.dll" v0.0 ts=2001/10/19 17:25 41k 2002/01/20 C:\opt\gnu\cygwin\bin\cygXpm-noX4.dll - os=4.0 img=1.0 sys=4.0 "cygXpm-noX4.dll" v0.0 ts=2002/1/20 10:49 46k 2002/01/20 C:\opt\gnu\cygwin\bin\cygXpm-X4.dll - os=4.0 img=1.0 sys=4.0 "cygXpm-X4.dll" v0.0 ts=2002/1/20 10:50 50k 2002/03/12 C:\opt\gnu\cygwin\bin\cygz.dll - os=4.0 img=1.0 sys=4.0 "cygz.dll" v0.0 ts=2002/3/11 20:38 883k 2002/07/06 C:\opt\gnu\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2002/7/5 23:16 Cygwin DLL version info: DLL version: 1.3.12 DLL epoch: 19 DLL bad signal mask: 19005 DLL old termios: 5 DLL malloc env: 28 API major: 0 API minor: 54 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: Build date: Sat Jul 6 02:16:58 EDT 2002 CVS tag: cygwin-1-3-12-1 Shared id: cygwin1S3 Cygwin Package Information Last downloaded files to: T:\pkg\cygwinpkg-20020627 Last downloaded files from: ftp://ftp.nas.nasa.gov/mirrors/cygwin.com/pub/cygwin Package Version XFree86-base 4.2.0-1 XFree86-bin 4.2.0-1 XFree86-doc 4.2.0-1 XFree86-etc 4.2.0-1 XFree86-f100 4.2.0-2 XFree86-fcyr 4.2.0-2 XFree86-fenc 4.2.0-2 XFree86-fnts 4.2.0-2 XFree86-fscl 4.2.0-2 XFree86-fsrv 4.2.0-1 XFree86-html 4.2.0-1 XFree86-jdoc 4.2.0-1 XFree86-lib 4.2.0-3 XFree86-man 4.2.0-1 XFree86-nest 4.2.0-1 XFree86-prog 4.2.0-1 XFree86-prt 4.2.0-1 XFree86-ps 4.2.0-1 XFree86-startup-scripts4.2.0-2 XFree86-vfb 4.2.0-1 XFree86-xserv 4.2.0-10 _update-info-dir 00039-1 ash 20020131-1 autoconf 2.53b-1 autoconf-devel 2.53a-1 autoconf-stable 2.13-4 automake 1.6.2-1 automake-devel 1.6.2-1 automake-stable 1.4p5-5 bash 2.05b-2 binutils 20020706-2 bison 1.35-1 byacc 1.9-1 bzip2 1.0.2-2 clear 1.0-1 cpio 2.4.2 cron 3.0.1-7 crypt 1.0-1 ctags 5.2-1 cvs 1.11.0-1 cygrunsrv 0.95-1 cygutils 1.1.2-1 cygwin 1.3.12-2 cygwin-doc 1.0-1 dejagnu 20010117-1 diff 1.0-1 diffutils 2.8.1-1 ed 0.2-1 expect 20010117-1 file 3.37-1 fileutils 4.1-1 findutils 4.1.7-4 flex 2.5.4-2 gawk 3.0.4-1 gcc 2.95.3-5 gdb 20010428-3 gdbm 1.8.0-4 gettext 0.11.2-2 ghostscript 7.05-1 ghostscript-base 7.05-1 gperf 0.0 grep 2.5-1 groff 1.17.2-1 gzip 1.3.3-3 inetutils 1.3.2-19 irc 20010101-1 jbigkit 1.2-6 jpeg 6b-7 less 374-1 libbz2_0 1.0.2-1 libbz2_1 1.0.2-2 libiconv2 1.8-2 libintl 0.10.38-3 libintl1 0.10.40-1 libintl2 0.11.2-2 libncurses5 5.2-1 libncurses6 5.2-8 libpng 1.2.4-2 libpng10 1.0.14-2 libpng12 1.2.4-2 libpng2 1.0.12-1 libpopt0 1.6.4-4 libreadline4 4.1-2 libreadline5 4.3-1 login 1.4-3 lynx 2.8.4-1 m4 0.0 make 3.79.1-7 man 1.5g-2 mingw 20010917-1 mingw-runtime 2.0-2 mktemp 1.4-1 mt 2.0.1-1 mutt 1.4-1 ncftp 3.1.3-1 ncurses 5.2-8 newlib-man 20001118-1 opengl 1.1.0-6 openssh 3.4p1-4 openssl 0.9.6d-1 patch 2.5-3 pcre 3.7-1 perl 5.6.1-2 popt 1.6.4-4 postgresql 7.2.1-2 python 2.2.1-1 readline 4.3-1 regex 4.4-2 rsync 2.5.5-1 rxvt 2.7.2-10 sed 3.02-1 sh-utils 2.0-2 shellutils 0.0 squid 2.4.STABLE7-1 ssmtp 2.38.7-3 tar 1.13.19-1 tcltk 20001125-1 tcsh 6.11.00-4 termcap 20020403-1 terminfo 5.2-3 tetex-beta 20001218-4 texinfo 4.2-3 textutils 2.0.21-1 tiff 3.5.7-1 time 1.7-1 unzip 5.50-1 vim 6.1-2 w32api 1.5-1 wget 1.8.2-1 which 1.5-1 xpm 4.0.0-2 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_001B_01C2687E.090FBEB0 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------=_NextPart_000_001B_01C2687E.090FBEB0--