<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Amos,<BR> <BR>It seems the functionality that is responsible for creation of child workers is absent on Windows. This is what I see in the main.cc<BR><em>watch_child(char *argv[])<br>{<br>#if !_SQUID_WINDOWS_ <br></em>...<BR><em>#endif</em><BR><em>}</em><BR> <BR>Are there any plans to add this functionality in the near future? <BR> <BR>Thank you!<BR> <BR>Best regards,<BR>-e<BR> <BR><div>> Date: Sun, 25 Jan 2015 17:05:43 +1300<br>> From: squid3@treenet.co.nz<br>> To: al.akchurin@hotmail.com; squid-users@lists.squid-cache.org<br>> Subject: Re: [squid-users] Problem with running squid 3.5 on windows 7<br>> <br>> On 25/01/2015 4:16 p.m., Eldar Akchurin wrote:<br>> > Hi Amos,<br>> >  <br>> > Sorry to disturb you again, I have changed the ModSelectWin32 for now, it seems it kind of works.<br>> > I will collect all the patches and will send you after I have the first version running :)<br>> >  <br>> <br>> Yay. Sorry for not having time for this, got flooded under with 3.5.1<br>> feedback but things are settling down again now.<br>> <br>> <br>> > The next issue is in the mswindows.h<br>> >  <br>> > inline ssize_t<br>> > recvfrom(int s, void * b, size_t l, int f, struct sockaddr * fr, socklen_t * fl)<br>> > {<br>> >     ssize_t result;<br>> >     int ifl=*fl;<br>> >     if ((result = ::recvfrom(_get_osfhandle(s), (char *)b, l, f, fr, &ifl)) == SOCKET_ERROR) {<br>> >         errno = WSAGetLastError();<br>> >         return -1;<br>> >     } else<br>> >         return result;<br>> > }<br>> >  <br>> > ::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?<br>> > At least it is necessary to copy the value returned by ifl into the fl again after the call.<br>> >  <br>> > 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?<br>> >  <br>> <br>>  src/ipc/* does most of the SMP related stuff. I was expecting issues<br>> from UDS TypedMessage needing special Windows code to pass handles<br>> between the processes.<br>> <br>> It may also be related to the main.cc code forking initial daemon/worker.<br>> <br>> Amos<br>> <br></div>                                    </div></body>
</html>