Mailing-List: contact cygwin-apps-help AT sourceware DOT cygnus DOT com; run by ezmlm list-help: list-post: Sender: cygwin-apps-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-apps AT sourceware DOT cygnus DOT com Message-ID: <006301bfd338$a964d450$f7c723cb@lifelesswks> From: "Robert Collins" To: Subject: fnctl nonblocking still blocking Date: Sun, 11 Jun 2000 10:04:48 +1000 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_005F_01BFD38C.7A2599F0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2919.6700 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700 This is a multi-part message in MIME format. ------=_NextPart_000_005F_01BFD38C.7A2599F0 Content-Type: multipart/alternative; boundary="----=_NextPart_001_0060_01BFD38C.7A2599F0" ------=_NextPart_001_0060_01BFD38C.7A2599F0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, I am working on porting Squid to cygwin, I posted before about a = problem with accept() stopping on the second call to it. I have tracked it down to the socket still blocking on io when there is = no pending connection, even though the earlier call to fnctl was = successful. The call made is (fcntl(fd, F_SETFL, flags | SQUID_NONBLOCK) < 0),=20 where flags was retrieved by a prior call to F_GETFL, and SQUID_NONBLOCK = is #defined to be O_NONBLOCK, I have also tried O_NDELAY with the same = results. My question(s) are:=20 what is the official status of non-blocking accept() calls in cygwin = 1.1.2? where in the winsup source is fcntl implemented? I found a call to = _fcntl but could find where that has been implemented to follow = through... cygcheck -s -v -r attached Thanks in advance, Rob ------=_NextPart_001_0060_01BFD38C.7A2599F0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,
    I am working on = porting Squid to=20 cygwin, I posted before about a problem with accept() stopping on the = second=20 call to it.
 
I have tracked it down to the socket = still blocking=20 on io when there is no pending connection, even though the earlier call = to fnctl=20 was successful.
 
The call made is (fcntl(fd, F_SETFL, = flags |=20 SQUID_NONBLOCK) < 0),
where flags was retrieved by a prior = call to=20 F_GETFL, and SQUID_NONBLOCK is = #defined to be=20 O_NONBLOCK, I have also tried O_NDELAY with the same = results.
 
My question(s) are:
what is the official status of = non-blocking=20 accept() calls in cygwin 1.1.2?
where in the winsup source is fcntl = implemented? I=20 found a call to _fcntl but could find where that has been implemented to = follow=20 through...
 
cygcheck -s -v -r attached
 
Thanks in advance,
Rob
 
------=_NextPart_001_0060_01BFD38C.7A2599F0-- ------=_NextPart_000_005F_01BFD38C.7A2599F0 Content-Type: text/plain; name="cygcheck.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="cygcheck.txt" Cygnus Win95/NT Configuration Diagnostics Current System Time: Sun Jun 11 10:03:14 2000 WinNT Ver 5.0 build 2195=20 Path: /usr/bin /usr/local/bin /e/WINNT/system32 /e/WINNT /e/WINNT/System32/Wbem /usr/bin /usr/local/bin /cygdrive/f/Program Files/Microsoft Visual Studio/Common/Tools/WinNT /cygdrive/f/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin /cygdrive/f/Program Files/Microsoft Visual Studio/Common/Tools /cygdrive/f/Program Files/Microsoft Visual Studio/VC98/bin /cygdrive/s/ACCPAC/CA_APPSW SysDir: E:\WINNT\System32 WinDir: E:\WINNT MAKE_MODE =3D `unix' PWD =3D `/usr/local/squid' !:: =3D `::\' !E: =3D `E:\' ALLUSERSPROFILE =3D `E:\Documents and Settings\All Users' APPDATA =3D `E:\Documents and Settings\Administrator\Application Data' CLASSPATH =3D `E:\Program Files\HEAT\navbar;%CLASSPATH%' COMMONPROGRAMFILES =3D `E:\Program Files\Common Files' COMPUTERNAME =3D `LIFELESSWKS' COMSPEC =3D `E:\WINNT\system32\cmd.exe' FSERVER =3D `tcp/195.114.67.85:19114' HOMEDRIVE =3D `E:' HOMEPATH =3D `\' HOSTNAME =3D `LIFELESSWKS' HOSTTYPE =3D `i586' INCLUDE =3D `F:\Program Files\Microsoft Visual = Studio\VC98\atl\include;F:\Program Files\Microsoft Visual = Studio\VC98\mfc\include;F:\Program Files\Microsoft Visual = Studio\VC98\include' LIB =3D `F:\Program Files\Microsoft Visual = Studio\VC98\mfc\lib;F:\Program Files\Microsoft Visual Studio\VC98\lib' LOGONSERVER =3D `\\LIFELESSWKS' MACHTYPE =3D `i586-pc-cygwin' MSDEVDIR =3D `F:\Program Files\Microsoft Visual Studio\Common\MSDev98' NUMBER_OF_PROCESSORS =3D `1' OLDPWD =3D `/usr/src/sq/squid-2.3.STABLE3/src' OS2LIBPATH =3D `E:\WINNT\system32\os2\dll;' OS =3D `Windows_NT' OSTYPE =3D `cygwin' PATHEXT =3D `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH' PROCESSOR_ARCHITECTURE =3D `x86' PROCESSOR_IDENTIFIER =3D `x86 Family 6 Model 7 Stepping 2, GenuineIntel' PROCESSOR_LEVEL =3D `6' PROCESSOR_REVISION =3D `0702' PROGRAMFILES =3D `E:\Program Files' PROMPT =3D `$P$G' SHELL =3D `/bin/sh' SHLVL =3D `1' SYSTEMDRIVE =3D `E:' SYSTEMROOT =3D `E:\WINNT' TEMP =3D `E:\DOCUME~1\ADMINI~1\LOCALS~1\Temp' TERM =3D `cygwin' TMP =3D `E:\DOCUME~1\ADMINI~1\LOCALS~1\Temp' USERDOMAIN =3D `LIFELESSWKS' USERNAME =3D `administrator' USERPROFILE =3D `E:\Documents and Settings\Administrator' WINDIR =3D `E:\WINNT' _ =3D `/usr/bin/cygcheck' TZ =3D `AUSEST-10AUSEDT-11,M10.5.0/2,M3.5.0/2' 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 0x00000020 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/ (default) =3D `E:\cygwin' flags =3D 0x00000002 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/e (default) =3D `e:' flags =3D 0x00000000 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/bin (default) =3D `E:\cygwin\bin' flags =3D 0x00000002 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/lib (default) =3D `E:\cygwin\lib' flags =3D 0x00000002 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 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\01 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\02 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\03 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\04 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\05 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\06 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\07 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\08 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\09 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\0A HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\0B HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\0C HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\0D HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\0E HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\0F HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\10 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\11 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\12 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\13 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\14 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\15 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\16 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\17 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\18 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\19 HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\1A HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\1B HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\1C HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL = setup\b15.0\mounts\1D HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Menu= Order\Start Menu\Programs\Cygnus Solutions (default) =3D (unsupported type) HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Installed Components HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Installed = Components\E:/cygwin (default) =3D `20000517' bash =3D `0002.0004.0001' binutils =3D `19990818.0001' bison =3D `0000' byacc =3D `0000' bzip =3D `0000' clear =3D `0001.0000' cygwin =3D `0001.0001.0002' dejagnu =3D `0000' diff =3D `0000' expect =3D `0000' fileutils =3D `0000' findutils =3D `0000' flex =3D `0000' gawk =3D `0000' gcc =3D `0002.0095.0002.0001' gdb =3D `20000415' gperf =3D `0000' grep =3D `0000' groff =3D `0001.011a.0001' gzip =3D `0000' inetutils =3D `0001.0003.0002.0002' less =3D `0000' libpng =3D `0001.0000.0006.0001' login =3D `0001.0002' m =3D `0000' make =3D `0003.0079' man =3D `0001.005g.0002' patch =3D `0000' sed =3D `0003.0002.0001' shellutils =3D `0000' tar =3D `0000' tcltk =3D `0000' termcap =3D `0002' texinfo =3D `0000' textutils =3D `0000' time =3D `0000' zlib =3D `0001.0001.0003.0001' HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts = v2\/usr/install (default) =3D `d:install' flags =3D 0x0000000a 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 FAT 101Mb 80% CP UN =20 d: hd NTFS 4337Mb 88% CP CS UN PA FC =20 e: hd NTFS 4479Mb 100% CP CS UN PA FC =20 f: hd NTFS 4133Mb 40% CP CS UN PA FC =20 g: cd N/A N/A =20 h: cd CDFS 575Mb 100% CS BG Disc 2 E:\cygwin\bin /usr/bin user binmode E:\cygwin\lib /usr/lib user binmode E:\cygwin / user binmode d:install /usr/install system binmode e: /e user textmode Found: E:\cygwin\bin\bash.exe Found: E:\cygwin\bin\cat.exe Found: E:\cygwin\bin\cpp.exe Found: E:\cygwin\bin\find.exe Found: E:\cygwin\bin\gcc.exe Found: E:\cygwin\bin\gdb.exe Found: E:\cygwin\bin\ld.exe Found: E:\cygwin\bin\ls.exe Found: E:\cygwin\bin\make.exe Found: E:\cygwin\bin\sh.exe 115k 1999/09/14 E:\cygwin\bin\cygitcl30.dll - os=3D4.0 img=3D1.0 = sys=3D4.0 "cygitcl30.dll" v0.0 ts=3D1999/9/14 12:46 63k 1999/09/14 E:\cygwin\bin\cygitk30.dll - os=3D4.0 img=3D1.0 = sys=3D4.0 "cygitk30.dll" v0.0 ts=3D1999/9/14 12:47 474k 1999/09/14 E:\cygwin\bin\cygtcl80.dll - os=3D4.0 img=3D1.0 = sys=3D4.0 "cygtcl80.dll" v0.0 ts=3D1999/9/14 12:31 19k 1999/09/14 E:\cygwin\bin\cygtclpip80.dll - os=3D4.0 img=3D1.0 = sys=3D4.0 24k 1999/09/14 E:\cygwin\bin\cygtclreg80.dll - os=3D4.0 img=3D1.0 = sys=3D4.0 "cygtclreg80.dll" v0.0 ts=3D1999/9/14 12:31 768k 1999/09/14 E:\cygwin\bin\cygtk80.dll - os=3D4.0 img=3D1.0 = sys=3D4.0 "cygtk80.dll" v0.0 ts=3D1999/9/14 12:36 575k 2000/06/07 E:\cygwin\bin\cygwin1.dll - os=3D4.0 img=3D1.0 = sys=3D4.0 "cygwin1.dll" v0.0 ts=3D2000/6/7 12:20 Use -h to see help about each section ------=_NextPart_000_005F_01BFD38C.7A2599F0--