Example #1
0
SYSCALL(void, maAccept(MAHandle conn)) {
	LOGST("maAccept %i", conn);
	CConnection* cc = gConnections.find(conn);
	MYASSERT(cc, ERR_CONN_HANDLE_INVALID);
	CServerSocket* ss = cc->server();
	MYASSERT(ss, ERR_CONN_NOT_SERVER);
	MYASSERT((cc->state & CONNOP_ACCEPT) == 0, ERR_CONN_ALREADY_ACCEPTING);
	CSocket* newSock = new (ELeave) CSocket(gSocketServ, CSocket::EBlank);
	cc->state |= CONNOP_ACCEPT;
	StartConnOpL(CO_Accept::NewL(false, *this, conn, *cc, *ss, newSock));
}