Non-blocking cygwin..

From: Robert Collins <robert.collins@dont-contact.us>
Date: Thu, 15 Jun 2000 23:01:32 +1000

I have replaced my previous patch file - the non-blocking i/o for cygwin now
seems happy. I have also resolved a problem with configure not getting the
max_fd value under cygwin. I'm about to grab the development code of off
sourceforge and take it from there.

Rob

ps just tell me if it's bad etiquette sending these 5/6kb patchs up and
you'd rather I post them on a website and reference that.

----- Original Message -----
From: "Robert Collins" <robert.collins@itdomain.com.au>
To: "Henrik Nordstrom" <hno@hem.passagen.se>
Cc: <squid-dev@squid-cache.org>
Sent: Thursday, June 15, 2000 9:34 AM
Subject: Re: Updated squid 2.3 stable 3 for cygwin

>
> ----- Original Message -----
> From: "Henrik Nordstrom" <hno@hem.passagen.se>
> To: "Robert Collins" <robert.collins@itdomain.com.au>
> Cc: <squid-dev@squid-cache.org>
> Sent: Thursday, June 15, 2000 6:16 AM
> Subject: Re: Updated squid 2.3 stable 3 for cygwin
>
>
> > Thanks for your patch.
> >
> > A few issues:
> >
> > a) What is that business with #define sys_nerr 136 in util.c? It is not
> > withing a #ifdef, and it looks like it collides with the __declspec line
> > a few lines down..
>
> Oops! inital hack while I found the correct solution - and I forgot I had
> left the hack there... Cygwin exports sys_nerr as _sys_nerr - I hope my
> updated diff looks better.
>
> > b) Running Squid under cygwin.dll isn't very useful util cygwin.dll
> > properly supports non-blocking socket I/O. The basic Squid design is
> > based on non-blocking socket I/O.
>
> I have some info from Corinna V on setting sockets to non-block i/o that I
> hope to get going shortly. Where can I find what the type field in
> fd_table[]. _means_? ie is type=3 a listening socket... With that I should
> be able to fix comm_setNonBlock..
>
> > c) It would be nice if you based your work on the current development
> > sources, available via anonymous cvs from cvs.squid-cache.org.
> I'm happy to do this, although we will be running a production cache
soon -
> but maintaining both dev and stable shouldn't be too bad, and a CVS branch
> would be useful.
>
> > If you are really serious about getting Squid working under the cygwin
> > toolchain I'll give you a CVS branch on squid.sourceforge.net to play
> > around in. The speediest path is probably to take the code Romeo
> > Anghelache wrote for native Win32 support, and update it to the current
> > sources (already updated to Squid-2.2.STABLE5 in the SourceForge CVS
> > repository), and then tweak the cygwin toolchain to build Squid without
> > cygwin.dll (or Squid to bypass it on networking).
>
> I had a look at Romeo's work, the reason I didn't start with it is that
his
> work was built under MS Visual C, and I want to keep the code happily
> building under the gcc environment, so users don't need to spend $$$ just
to
> build it. I have squid running quite happily, with no blocking issues now,
> as a service, built under, and linked to Cygwin. Do you know if Romeo did
> any tuning within the win32 system? All I could see in the code was the
> direct service support, and creating a sd structure in parallel with the
> fd_table to hold the win32 socket information. If nothing else was added,
I
> think that with non-blocking I/O the cygwin/mingw32 port should be easier
to
> maintain, and more open for development.
>
> Thanks for the feedback, it's very much appreciated.
>
> Rob
>
> > --
> > Henrik Nordstrom
> > Squid hacker
> >
> >
> > Robert Collins wrote:
>
>

Received on Thu Jun 15 2000 - 06:59:15 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:30 MST