Re: Updated squid 2.3 stable 3 for cygwin

From: Robert Collins <robert.collins@dont-contact.us>
Date: Thu, 15 Jun 2000 09:34:29 +1000

----- 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 Wed Jun 14 2000 - 17:32:06 MDT

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