void nsSocketTransportService::MoveToIdleList(SocketContext *sock) { nsresult rv = AddToIdleList(sock); if (NS_FAILED(rv)) DetachSocket(mActiveList, sock); else RemoveFromPollList(sock); }
nsresult nsSocketTransportService::AttachSocket(PRFileDesc *fd, nsASocketHandler *handler) { LOG(("nsSocketTransportService::AttachSocket [handler=%x]\n", handler)); NS_ASSERTION(PR_GetCurrentThread() == gSocketThread, "wrong thread"); SocketContext sock; sock.mFD = fd; sock.mHandler = handler; sock.mElapsedTime = 0; nsresult rv = AddToIdleList(&sock); if (NS_SUCCEEDED(rv)) NS_ADDREF(handler); return rv; }
NS_IMETHODIMP nsSocketTransportService::AttachSocket(PRFileDesc *fd, nsASocketHandler *handler) { SOCKET_LOG(("nsSocketTransportService::AttachSocket [handler=%p]\n", handler)); NS_ASSERTION(PR_GetCurrentThread() == gSocketThread, "wrong thread"); if (!CanAttachSocket()) { return NS_ERROR_NOT_AVAILABLE; } SocketContext sock; sock.mFD = fd; sock.mHandler = handler; sock.mElapsedTime = 0; nsresult rv = AddToIdleList(&sock); if (NS_SUCCEEDED(rv)) NS_ADDREF(handler); return rv; }