[squid-users] Problem with running squid 3.5 on windows 7

Amos Jeffries squid3 at treenet.co.nz
Sun Jan 25 04:05:43 UTC 2015


On 25/01/2015 4:16 p.m., Eldar Akchurin wrote:
> Hi Amos,
>  
> Sorry to disturb you again, I have changed the ModSelectWin32 for now, it seems it kind of works.
> I will collect all the patches and will send you after I have the first version running :)
>  

Yay. Sorry for not having time for this, got flooded under with 3.5.1
feedback but things are settling down again now.


> The next issue is in the mswindows.h
>  
> inline ssize_t
> recvfrom(int s, void * b, size_t l, int f, struct sockaddr * fr, socklen_t * fl)
> {
>     ssize_t result;
>     int ifl=*fl;
>     if ((result = ::recvfrom(_get_osfhandle(s), (char *)b, l, f, fr, &ifl)) == SOCKET_ERROR) {
>         errno = WSAGetLastError();
>         return -1;
>     } else
>         return result;
> }
>  
> ::recvfrom changes the size, but you kind of forgetting it inside ifl, not passing it out.Why not simply pass fl? why do you need ifl? socklen_t is declared as int. Or can this be changed in the future?
> At least it is necessary to copy the value returned by ifl into the fl again after the call.
>  
> The next problem I'm having is that only squid -N works. As soon as I run it in the daemon mode (without -N) none of the workers is created. Could you please point me to the part of the code that is responsible for spawning workers?
>  

 src/ipc/* does most of the SMP related stuff. I was expecting issues
from UDS TypedMessage needing special Windows code to pass handles
between the processes.

It may also be related to the main.cc code forking initial daemon/worker.

Amos



More information about the squid-users mailing list