fnctl nonblocking still blocking
Robert Collins
robert.collins@itdomain.com.au
Sat Jun 10 17:02:00 GMT 2000
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),
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:
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
ÃÂ
Cygnus Win95/NT Configuration Diagnostics
Current System Time: Sun Jun 11 10:03:14 2000
WinNT Ver 5.0 build 2195
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 = `unix'
PWD = `/usr/local/squid'
!:: = `::\'
!E: = `E:\'
ALLUSERSPROFILE = `E:\Documents and Settings\All Users'
APPDATA = `E:\Documents and Settings\Administrator\Application Data'
CLASSPATH = `E:\Program Files\HEAT\navbar;%CLASSPATH%'
COMMONPROGRAMFILES = `E:\Program Files\Common Files'
COMPUTERNAME = `LIFELESSWKS'
COMSPEC = `E:\WINNT\system32\cmd.exe'
FSERVER = `tcp/195.114.67.85:19114'
HOMEDRIVE = `E:'
HOMEPATH = `\'
HOSTNAME = `LIFELESSWKS'
HOSTTYPE = `i586'
INCLUDE = `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 = `F:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;F:\Program Files\Microsoft Visual Studio\VC98\lib'
LOGONSERVER = `\\LIFELESSWKS'
MACHTYPE = `i586-pc-cygwin'
MSDEVDIR = `F:\Program Files\Microsoft Visual Studio\Common\MSDev98'
NUMBER_OF_PROCESSORS = `1'
OLDPWD = `/usr/src/sq/squid-2.3.STABLE3/src'
OS2LIBPATH = `E:\WINNT\system32\os2\dll;'
OS = `Windows_NT'
OSTYPE = `cygwin'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 7 Stepping 2, GenuineIntel'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0702'
PROGRAMFILES = `E:\Program Files'
PROMPT = `$P$G'
SHELL = `/bin/sh'
SHLVL = `1'
SYSTEMDRIVE = `E:'
SYSTEMROOT = `E:\WINNT'
TEMP = `E:\DOCUME~1\ADMINI~1\LOCALS~1\Temp'
TERM = `cygwin'
TMP = `E:\DOCUME~1\ADMINI~1\LOCALS~1\Temp'
USERDOMAIN = `LIFELESSWKS'
USERNAME = `administrator'
USERPROFILE = `E:\Documents and Settings\Administrator'
WINDIR = `E:\WINNT'
_ = `/usr/bin/cygcheck'
TZ = `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) = `/cygdrive'
cygdrive flags = 0x00000020
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/
(default) = `E:\cygwin'
flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/e
(default) = `e:'
flags = 0x00000000
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
(default) = `E:\cygwin\bin'
flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
(default) = `E:\cygwin\lib'
flags = 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\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\Installed Components
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Installed Components\E:/cygwin
(default) = `20000517'
bash = `0002.0004.0001'
binutils = `19990818.0001'
bison = `0000'
byacc = `0000'
bzip = `0000'
clear = `0001.0000'
cygwin = `0001.0001.0002'
dejagnu = `0000'
diff = `0000'
expect = `0000'
fileutils = `0000'
findutils = `0000'
flex = `0000'
gawk = `0000'
gcc = `0002.0095.0002.0001'
gdb = `20000415'
gperf = `0000'
grep = `0000'
groff = `0001.011a.0001'
gzip = `0000'
inetutils = `0001.0003.0002.0002'
less = `0000'
libpng = `0001.0000.0006.0001'
login = `0001.0002'
m = `0000'
make = `0003.0079'
man = `0001.005g.0002'
patch = `0000'
sed = `0003.0002.0001'
shellutils = `0000'
tar = `0000'
tcltk = `0000'
termcap = `0002'
texinfo = `0000'
textutils = `0000'
time = `0000'
zlib = `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) = `d:install'
flags = 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
c: hd FAT 101Mb 80% CP UN
d: hd NTFS 4337Mb 88% CP CS UN PA FC
e: hd NTFS 4479Mb 100% CP CS UN PA FC
f: hd NTFS 4133Mb 40% CP CS UN PA FC
g: cd N/A N/A
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=4.0 img=1.0 sys=4.0
"cygitcl30.dll" v0.0 ts=1999/9/14 12:46
63k 1999/09/14 E:\cygwin\bin\cygitk30.dll - os=4.0 img=1.0 sys=4.0
"cygitk30.dll" v0.0 ts=1999/9/14 12:47
474k 1999/09/14 E:\cygwin\bin\cygtcl80.dll - os=4.0 img=1.0 sys=4.0
"cygtcl80.dll" v0.0 ts=1999/9/14 12:31
19k 1999/09/14 E:\cygwin\bin\cygtclpip80.dll - os=4.0 img=1.0 sys=4.0
24k 1999/09/14 E:\cygwin\bin\cygtclreg80.dll - os=4.0 img=1.0 sys=4.0
"cygtclreg80.dll" v0.0 ts=1999/9/14 12:31
768k 1999/09/14 E:\cygwin\bin\cygtk80.dll - os=4.0 img=1.0 sys=4.0
"cygtk80.dll" v0.0 ts=1999/9/14 12:36
575k 2000/06/07 E:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
"cygwin1.dll" v0.0 ts=2000/6/7 12:20
Use -h to see help about each section
More information about the Cygwin-apps
mailing list