/*
- * $Id$
- *
- * DEBUG: section 54 Interprocess Communication
+ * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
*
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
*/
-#include "config.h"
-#include <map>
-#include "comm.h"
+/* DEBUG: section 54 Interprocess Communication */
+
+#include "squid.h"
#include "base/TextException.h"
+#include "comm.h"
#include "comm/Connection.h"
-#include "ipc/Port.h"
-#include "ipc/Messages.h"
+#include "globals.h"
#include "ipc/Kids.h"
-#include "ipc/TypedMsgHdr.h"
-#include "ipc/StartListening.h"
+#include "ipc/Messages.h"
+#include "ipc/Port.h"
#include "ipc/SharedListen.h"
+#include "ipc/StartListening.h"
+#include "ipc/TypedMsgHdr.h"
+#include "tools.h"
+
+#include <map>
/// holds information necessary to handle JoinListen response
class PendingOpenRequest
Ipc::OpenListenerParams::OpenListenerParams()
{
- xmemset(this, 0, sizeof(*this));
+ memset(this, 0, sizeof(*this));
}
bool
return addr.compareWhole(p.addr) < 0;
}
-
-
Ipc::SharedListenRequest::SharedListenRequest(): requestorId(-1), mapId(-1)
{
// caller will then set public data members
hdrMsg.putPod(*this);
}
-
Ipc::SharedListenResponse::SharedListenResponse(int aFd, int anErrNo, int aMapId):
- fd(aFd), errNo(anErrNo), mapId(aMapId)
+ fd(aFd), errNo(anErrNo), mapId(aMapId)
{
}
hdrMsg.putFd(fd);
}
-
void Ipc::JoinSharedListen(const OpenListenerParams ¶ms,
AsyncCall::Pointer &callback)
{
TypedMsgHdr message;
request.pack(message);
- SendMessage(coordinatorAddr, message);
+ SendMessage(Ipc::Port::CoordinatorAddr(), message);
}
void Ipc::SharedListenJoined(const SharedListenResponse &response)
cbd->conn->flags = p.flags;
// XXX: leave the comm AI stuff to comm_import_opened()?
struct addrinfo *AI = NULL;
- p.addr.GetAddrInfo(AI);
+ p.addr.getAddrInfo(AI);
AI->ai_socktype = p.sock_type;
AI->ai_protocol = p.proto;
comm_import_opened(cbd->conn, FdNote(p.fdNote), AI);
- p.addr.FreeAddrInfo(AI);
+ Ip::Address::FreeAddr(AI);
}
cbd->errNo = response.errNo;
cbd->handlerSubscription = por.params.handlerSubscription;
ScheduleCallHere(por.callback);
}
+