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