コード例 #1
0
ファイル: macntcp.c プロジェクト: ChristianeDufresne/GUD
/* clean up the TCP task
 */
static short tcp_closep(na_win *win)
{
	short i, j;
	tcpinfo *tcp;
	tcpwb *wb;
	TCPiopb pb;
	
	tstate->waitstart = TickCount();
	tstate->waitpercent = 0;
	tcp_wait(tstate, NULL);
	memset((void *) &pb, 0, sizeof (pb));
	for (i = 0; i < MAX_TCPCON; ++i) {
		if ((tcp = tstate->tcpbufs[i]) != NULL) {
			/* wait for MacTCP to finish what it's doing, but permit user cancel */
			if (!tcp->server || tcp->state != TCP_CONNECT) tcp_wait(tstate, tcp);
			if (!tcp->gethost) {
				pb.ioCRefNum = tstate->tcp_driver;
				pb.tcpStream = tcp->stream;
				pb.csCode = TCPRelease;
				PBControl((ParmBlkPtr) &pb, false);
			}
			freewb(tcp->wb);
			freewb(tcp->wb + 1);
			DisposPtr((Ptr) tcp);
			tstate->tcpbufs[i] = NULL;
		}
	}
	tcpstate = NULL;
	if (tstate->tcp_driver) CloseResolver();
	
	return (NA_CLOSED);
}
コード例 #2
0
ファイル: ftl_mac.c プロジェクト: vadz/panda-imap
void fatal (char *string)
{
    mm_fatal (string);		/* pass up the string */
    /* nuke the resolver */
    if (resolveropen) CloseResolver ();
    abort ();			/* die horribly */
}
コード例 #3
0
ファイル: net_mactcp.c プロジェクト: feeef/polarssl
OSErr mactcp_shutdown(mactcp_inst *i)
{
	i->initialized = 0;
	
    CloseResolver();

    return noErr;
}
コード例 #4
0
ファイル: macstuff.c プロジェクト: AMDmi3/analog
/*      Must call this before quitting app
*/
void
ResolverCleanup(void)
{

  if (slNetChecked && slNetSvcOpen) {
    if (slNetPresent==1) OTCloseProvider(sSvcRef.ref);
#if !TARGET_API_MAC_CARBON
    else if (slNetPresent==2) CloseResolver();
#endif
  }
} /* end ResolverCleanup() */