- inet_aton("127.0.0.1", &addr.sin_addr);
- addr.sin_family = AF_INET;
- addr.sin_port = htons(listener->GetPort());
+ socklen_t sz = sizeof(addr);
+ getsockname(listenFD, reinterpret_cast<struct sockaddr*>(&addr), &sz);
+ connect(connFD, reinterpret_cast<struct sockaddr*>(&addr), sz);
+ SocketEngine::Blocking(listenFD);
+ int nfd = accept(listenFD, reinterpret_cast<struct sockaddr*>(&addr), &sz);
+ if (nfd < 0)
+ throw CoreException("Could not create ITC pipe");
+ new ThreadSignalSocket(this, nfd);
+ closesocket(listenFD);