您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DeleteMsgPort函数代码示例

51自学网 2021-06-01 20:26:44
  C++
这篇教程C++ DeleteMsgPort函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DeleteMsgPort函数的典型用法代码示例。如果您正苦于以下问题:C++ DeleteMsgPort函数的具体用法?C++ DeleteMsgPort怎么用?C++ DeleteMsgPort使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DeleteMsgPort函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: IPC_PutMsg

BOOL IPC_PutMsg( struct MsgPort *destino, IPCACT_T action, APTR udata ){	struct MsgPort *replyport = NULL;	BOOL error = TRUE;		ENTER();	DBG_POINTER(destino);		if(destino && (replyport = CreateMsgPort()))	{		struct IPCMsg ipcmsg;		APTR xMsg;				ipcmsg.ipc_msg.mn_ReplyPort	= replyport;		ipcmsg.ipc_msg.mn_Length	= sizeof(struct IPCMsg);		ipcmsg.ipc_ID			= IPC_MAGIC;		ipcmsg.ipc_action		= action;		ipcmsg.ipc_result		= IPCR_ABORTED;		ipcmsg.ipc_data			= udata;				DBG("Sending action '%ld' from %lx to %lx/n", action, replyport, destino);				Forbid();		PutMsg( destino, &ipcmsg.ipc_msg);		WaitPort(replyport);		while((xMsg = GetMsg( replyport )))		{			DBG("Got reply.../n");						switch(((struct IPCMsg *)xMsg)->ipc_result)			{ // TODO				case IPCR_ABORTED:					DBG("IPCR_ABORTED/n");					break;								case IPCR_FAIL:					DBG("IPCR_FAIL/n");					break;								case IPCR_OK:					DBG("IPCR_OK/n");					break;				default:					break;			}		}		Permit();				DeleteMsgPort(replyport);				error = FALSE;	}		LEAVE();		return !error;}
开发者ID:diegocr,项目名称:AmiNZB,代码行数:57,


示例2: cleanup

void cleanup(LONG rc){  if(!AHIDevice)    CloseDevice((struct IORequest *)AHIio);  DeleteIORequest((struct IORequest *)AHIio);  FreeMem(AHIiocopy,sizeof(struct AHIRequest));  DeleteMsgPort(AHImp);  exit(rc);}
开发者ID:BackupTheBerlios,项目名称:arp2-svn,代码行数:9,


示例3: sdcard_CloseTimer

void sdcard_CloseTimer(struct IORequest *tmr){    if (NULL != tmr)    {	struct MsgPort *p = tmr->io_Message.mn_ReplyPort;	CloseDevice(tmr);	DeleteIORequest(tmr);	DeleteMsgPort(p);    }}
开发者ID:michalsc,项目名称:AROS,代码行数:10,


示例4: __cleanupselect

void __cleanupselect(void){  if (_treq) {    DeleteIORequest(_treq); _treq=NULL;  }  if (_tport) {    DeleteMsgPort(_tport); _tport=NULL;  }}
开发者ID:Peruonto,项目名称:HXCFE_Amiga_file_selector,代码行数:10,


示例5: Sys_Thread_DeleteThread

void Sys_Thread_DeleteThread(struct SysThread *thread){	SetTaskPri(&thread->process->pr_Task, 0);	while(!GetMsg(thread->msgport))		WaitPort(thread->msgport);	DeleteMsgPort(thread->msgport);	FreeVec(thread);}
开发者ID:classicQ,项目名称:classicQ.github.io,代码行数:10,


示例6: closeBlockDevice

void closeBlockDevice(struct AFSBase *afsbase, struct IOHandle *ioh) {	remChangeInt(afsbase, ioh);	if (ioh->iochangeint != NULL)		closeDevice(afsbase, ioh->iochangeint);	if (ioh->ioreq != NULL)		closeDevice(afsbase, ioh->ioreq);	if (ioh->mp != NULL)		DeleteMsgPort(ioh->mp);}
开发者ID:michalsc,项目名称:AROS,代码行数:10,


示例7: handler

void SAVEDS handler(void){  struct Process *me = (struct Process *)FindTask(NULL);  struct startMsg *smsg;  struct MsgPort *port;  BOOL res = FALSE;  ENTER();  WaitPort(&me->pr_MsgPort);  smsg = (struct startMsg *)GetMsg(&me->pr_MsgPort);  #if defined(__amigaos4__)  port = AllocSysObject(ASOT_PORT, TAG_DONE);  #else  port = CreateMsgPort();  #endif  if(port != NULL)    res = localSendRexxMsg(port, smsg->port, smsg->cmd);  smsg->res = res;  ReplyMsg((struct Message *)smsg);  if(res == TRUE)  {    struct RexxMsg *rxmsg;    WaitPort(port);    rxmsg = (struct RexxMsg *)GetMsg(port);    DeleteArgstring((APTR)rxmsg->rm_Args[0]);    DeleteRexxMsg(rxmsg);  }  if(port != NULL)  {    #if defined(__amigaos4__)    FreeSysObject(ASOT_PORT, port);    #else    DeleteMsgPort(port);    #endif  }  ObtainSemaphore(&OpenURLBase->libSem);  OpenURLBase->rexx_use--;  ReleaseSemaphore(&OpenURLBase->libSem);  #if !defined(__amigaos4__)  // all systems except OS4 should leave this function in forbidden state  Forbid();  #endif  LEAVE();}
开发者ID:michalsc,项目名称:AROS,代码行数:55,


示例8: cleanup

void cleanup(int kod,char *text){    shutdownnode(NODSER);    CloseIO();    if(NiKwind) CloseWindow(NiKwind);    if(RexxSysBase) CloseLibrary((struct Library *)RexxSysBase);    if(nikomnodeport) {        RemPort(nikomnodeport);        DeleteMsgPort(nikomnodeport);    }    if(rexxport) {        RemPort(rexxport);        DeleteMsgPort(rexxport);    }    if(NiKomBase) CloseLibrary(NiKomBase);    if(UtilityBase) CloseLibrary(UtilityBase);    if(IntuitionBase) CloseLibrary((struct Library *)IntuitionBase);    printf("%s",text);    exit(kod);}
开发者ID:jayminer81,项目名称:NiKom,代码行数:20,


示例9: ai_exit

static void ai_exit(void){    if (CTX != NULL) {        AIN_DeleteContext(CTX);        CTX = NULL;    }    if (ai_port != NULL) {        DeleteMsgPort(ai_port);        ai_port = NULL;    }}
开发者ID:AreaScout,项目名称:vice,代码行数:11,


示例10: HookRexxCommand

// Send an ARexx commandlong __asm __saveds HookRexxCommand(	register __a0 char *command,	register __a1 char *result,	register __d0 long length,	register __a2 struct MsgPort *replyport,	register __d1 ULONG flags){	struct MsgPort *rexx,*reply;	struct RexxMsg *msg;	long rc=-1;	// Clear result	if (result) *result=0;	// Get rexx port	if (!GUI->rexx_proc || !(rexx=(struct MsgPort *)IPCDATA(GUI->rexx_proc)))		return -1;	// Create reply port if needed	if ((reply=replyport) || (reply=CreateMsgPort()))	{		// Create message		if (msg=BuildRexxMsgExTags(					reply,					".dopus5",					rexx->mp_Node.ln_Name,					RexxTag_Arg0,command,					TAG_END))		{			// Initialise message			msg->rm_Action|=1|RXCOMM;			if (result) msg->rm_Action|=RXFF_RESULT;			// Send the message and wait for reply			PutMsg(rexx,(struct Message *)msg);			WaitPort(reply);			GetMsg(reply);			// String reply?			if (msg->rm_Result2 && result)				stccpy(result,(char *)msg->rm_Result2,length);			rc=msg->rm_Result1;			// Free message			FreeRexxMsgEx(msg);		}		// Free message port		if (reply!=replyport) DeleteMsgPort(reply);	}	return rc;}
开发者ID:MrZammler,项目名称:opus_magellan,代码行数:54,


示例11: FreeRocket

void FreeRocket(struct NepClassRocket *nch){    APTR pab;    psdGetAttrs(PGA_DEVICE, nch->nch_Device,                DA_Binding, &pab,                TAG_END);    psdReleaseAppBinding(pab);    psdFreePipe(nch->nch_EP0Pipe);    DeleteMsgPort(nch->nch_TaskMsgPort);    psdFreeVec(nch);}
开发者ID:michalsc,项目名称:AROS,代码行数:12,


示例12: CloseDevice

cdrom_interface::~cdrom_interface(void){  if (cd_error == 0) {    CloseDevice((struct IORequest *)CDIO);  }  if (CDIO != NULL) {    DeleteIORequest((struct IORequest *)CDIO);  }  if (CDMP != NULL) {    DeleteMsgPort(CDMP);  }}
开发者ID:iver6,项目名称:BA,代码行数:12,


示例13: arexx_cleanup

void arexx_cleanup(void){	if (arexx_port)	{		RemPort(arexx_port);		DeleteMsgPort(arexx_port);	}	while (arexx_execute_out)	{		struct RexxMsg *rxmsg;		WaitPort(arexx_execute_port);		while ((rxmsg = (struct RexxMsg *)GetMsg(arexx_execute_port)))		{			arexx_execute_out--;			ClearRexxMsg(rxmsg,1);			DeleteRexxMsg(rxmsg);		}	}	if (arexx_execute_port) DeleteMsgPort(arexx_execute_port);}
开发者ID:sba1,项目名称:simplemail,代码行数:22,


示例14: cleanup

voidcleanup( int rc ){  if( AHIDevice == 0 )  {    CloseDevice( (struct IORequest *) AHIio );  }  DeleteIORequest( (struct IORequest *) AHIio);  DeleteMsgPort( AHImp );  exit( rc );}
开发者ID:BackupTheBerlios,项目名称:arp2-svn,代码行数:13,


示例15: CleanUp

void CleanUp(void) {  if(!AHIDevice)    CloseDevice((struct IORequest *)AHIio);  DeleteIORequest((struct IORequest *)AHIio);  DeleteMsgPort(AHImp);  AHIBase = NULL; AHImp = NULL; AHIio = NULL; AHIDevice = -1;  CloseahiprefsCatalog();  CloseLibrary(LocaleBase);  LocaleBase = NULL;}
开发者ID:BackupTheBerlios,项目名称:arp2-svn,代码行数:13,


示例16: cleanup

void cleanup(int kod,char *fel){	shutdownnode(NODCON);	freealiasmem();	freeeditlist();	CloseIO();	if(NiKwind) CloseWindow(NiKwind);	if(RexxSysBase) CloseLibrary((struct Library *)RexxSysBase);	if(nikomnodeport) {		RemPort(nikomnodeport);		DeleteMsgPort(nikomnodeport);	}	if(rexxport) {		RemPort(rexxport);		DeleteMsgPort(rexxport);	}	if(NiKomBase) CloseLibrary(NiKomBase);	if(UtilityBase) CloseLibrary(UtilityBase);	if(IntuitionBase) CloseLibrary((struct Library *)IntuitionBase);	printf("%s",fel);	exit(kod);}
开发者ID:dblarsson,项目名称:NiKom,代码行数:22,


示例17: uae_start_thread

int uae_start_thread (const TCHAR *name, void *(*f)(void *), void *arg, uae_thread_id *tid){    struct MsgPort *replyport;    struct Process *newtask = NULL;    struct TagItem procTags[] =    {        { NP_Name,	   (IPTR) NULL},        { NP_StackSize,	   (IPTR)(64 * 1024)},        { NP_Entry,	   (IPTR) do_thread},        //{ NP_Output,		   Output ()},        //{ NP_Input,		   Input ()},        //{ NP_CloseOutput,	   FALSE},        //{ NP_CloseInput,	   FALSE},        { TAG_DONE, 0}    };#warning Do we need to care for priorities here? WinUAE does..    if(!name)        procTags[0].ti_Data = (IPTR)default_name;    else        procTags[0].ti_Data = (IPTR)name;    bug("[JUAE:PX] %s('%s', f %lx, arg %lx, tid %lx)/n", __PRETTY_FUNCTION__, procTags[0].ti_Data, f, arg, tid);    replyport = CreateMsgPort();    if(!replyport) {        write_log("ERROR: Unable to create MsgPort!/n");    }    newtask = CreateNewProc (procTags);    bug("[JUAE:PX] %s: Process @ %p, MsgPort @ %p/n", __PRETTY_FUNCTION__, newtask, newtask->pr_MsgPort);    if(newtask) {        struct startupmsg msg;        msg.msg.mn_ReplyPort = replyport;        msg.msg.mn_Length    = sizeof msg;        msg.func             = f;        msg.arg              = arg;        PutMsg (&newtask->pr_MsgPort, (struct Message*)&msg);        WaitPort (replyport);    }    DeleteMsgPort (replyport);    if(tid) {        *tid=newtask;    }    return (newtask != 0);}
开发者ID:Kalamatee,项目名称:WinUAE,代码行数:51,


示例18: cleanup

voidcleanup( void ){  if( AHIDevice == 0 )  {    CloseDevice( (struct IORequest *) AHIio );  }  DeleteIORequest( (struct IORequest *) AHIio);  DeleteMsgPort( AHImp );  CloseLibrary( (struct Library*) IntuitionBase );  CloseLibrary( (struct Library*) GfxBase );}
开发者ID:BackupTheBerlios,项目名称:arp2-svn,代码行数:14,


示例19: cleanup

void cleanup(int kod,char *text) {  CloseCatalog(g_Catalog);	freealiasmem();	freeeditlist();	CloseIO();	if(NiKwind) CloseWindow(NiKwind);	if(RexxSysBase) CloseLibrary((struct Library *)RexxSysBase);	if(nikomnodeport) {		RemPort(nikomnodeport);		DeleteMsgPort(nikomnodeport);	}	if(rexxport) {		RemPort(rexxport);		DeleteMsgPort(rexxport);	}	shutdownnode(NODSPAWNED);	if(NiKomBase) CloseLibrary(NiKomBase);	if(UtilityBase) CloseLibrary(UtilityBase);	if(LocaleBase) CloseLibrary(LocaleBase);	if(IntuitionBase) CloseLibrary((struct Library *)IntuitionBase);	printf("%s",text);	exit(kod);}
开发者ID:punktniklas,项目名称:NiKom,代码行数:23,


示例20: main

intmain( int argc, char* argv[] ) {  int rc = RETURN_OK;  if( argc != 1 ) {    fprintf( stderr, "Usage: %s/n", argv[ 0 ] );    rc = RETURN_ERROR;  }  else {    struct MsgPort* mp = CreateMsgPort();        if( mp != NULL ) {      struct AHIRequest* io = (struct AHIRequest *)	CreateIORequest( mp, sizeof( struct AHIRequest ) );      if( io != NULL ) {	// We use 32 bit samples, so we need version 6.	io->ahir_Version = 6;	if( OpenDevice( AHINAME, AHI_NO_UNIT, (struct IORequest *) io, 0 )	    == 0 ) {	  AHIBase = (struct Library *) io->ahir_Std.io_Device;	  rc = PlaySineEverywhere();	  CloseDevice( (struct IORequest *) io );	}	else {	  fprintf( stderr, "Unable to open '" AHINAME "' version 6./n" );	  rc = RETURN_FAIL;	}		DeleteIORequest( (struct IORequest *) io );      }      else {	fprintf( stderr, "Unable to create IO request./n" );	rc = RETURN_FAIL;      }      DeleteMsgPort( mp );    }    else {      fprintf( stderr, "Unable to create message port./n" );      rc = RETURN_FAIL;    }  }    return rc;}
开发者ID:BackupTheBerlios,项目名称:arp2-svn,代码行数:49,


示例21: assert

	/* virtual */ void Join()	{		struct OTTDThreadStartupMessage *reply;		/* You cannot join yourself */		assert(!IsCurrent());		KPutStr("[OpenTTD] Join threads.../n");		KPutStr("[OpenTTD] Wait for child to quit.../n");		WaitPort(m_replyport);		GetMsg(m_replyport);		DeleteMsgPort(m_replyport);		m_thr = 0;	}
开发者ID:Voxar,项目名称:OpenTTD,代码行数:15,


示例22: ether_exit

void ether_exit(void){	// Stop process	if (net_proc) {		SetSignal(0, SIGF_SINGLE);		Signal(&net_proc->pr_Task, SIGBREAKF_CTRL_C);		Wait(SIGF_SINGLE);	}	// Delete reply port	if (reply_port) {		DeleteMsgPort(reply_port);		reply_port = NULL;	}}
开发者ID:dougmencken,项目名称:macemu,代码行数:15,


示例23: AllocUPS

struct NepClassUPS * AllocUPS(struct NepClassUPS *nch){    nch->nch_Task = FindTask(NULL);    if((nch->nch_TaskMsgPort = CreateMsgPort()))    {        if((nch->nch_EP0Pipe = psdAllocPipe(nch->nch_Device, nch->nch_TaskMsgPort, NULL)))        {            return(nch);        } else {            PutStr("Couldn't allocate default pipe/n");        }        DeleteMsgPort(nch->nch_TaskMsgPort);    }    return(NULL);}
开发者ID:michalsc,项目名称:AROS,代码行数:16,


示例24: SetSignal

int16 ASERDPort::close(){	// Stop process	if (serial_proc) {		SetSignal(0, SIGF_SINGLE);		Signal(&serial_proc->pr_Task, SIGBREAKF_CTRL_C);		Wait(SIGF_SINGLE);	}	// Delete reply port	if (reply_port) {		DeleteMsgPort(reply_port);		reply_port = NULL;	}	return noErr;}
开发者ID:AlexandreCo,项目名称:macemu,代码行数:16,


示例25: main

intmain(int argc, char* argv[]) {  int rc = RETURN_OK;  if (argc != 4) {    fprintf(stderr, "Usage: %s <audio mode id> <mix_freq> <player_freq>/n", argv[0]);    rc = RETURN_ERROR;  }  else {    struct MsgPort* mp = CreateMsgPort();        if (mp != NULL) {      struct AHIRequest* io = (struct AHIRequest *)	CreateIORequest(mp, sizeof(struct AHIRequest));      if (io != NULL) {	io->ahir_Version = 4;	if (OpenDevice(AHINAME, AHI_NO_UNIT, (struct IORequest *) io, 0) == 0) {	  AHIBase = (struct Library *) io->ahir_Std.io_Device;	  rc = MaxPlaySamples(atol(argv[1]), atol(argv[2]), atol(argv[3]));	  CloseDevice((struct IORequest *) io);	}	else {	  fprintf(stderr, "Unable to open '" AHINAME "' version 4./n");	  rc = RETURN_FAIL;	}		DeleteIORequest((struct IORequest *) io);      }      else {	fprintf(stderr, "Unable to create IO request./n");	rc = RETURN_FAIL;      }      DeleteMsgPort(mp);    }    else {      fprintf(stderr, "Unable to create message port./n");      rc = RETURN_FAIL;    }  }    return rc;}
开发者ID:BackupTheBerlios,项目名称:arp2-svn,代码行数:47,


示例26: CreateMsgPort

int16 ASERDPort::open(uint16 config){	// Don't open NULL name devices	if (device_name == NULL)		return openErr;	// Init variables	err_mask = 0;	// Create message port	reply_port = CreateMsgPort();	if (reply_port == NULL)		goto open_error;	// Start process	proc_error = false;	proc_arg = this;	SetSignal(0, SIGF_SINGLE);	serial_proc = CreateNewProcTags(		NP_Entry, (ULONG)serial_func,		NP_Name, (ULONG)"Basilisk II Serial Task",		NP_Priority, 1,		TAG_END		);	if (serial_proc == NULL)		goto open_error;	// Wait for signal from process	Wait(SIGF_SINGLE);	// Initialization error? Then bail out	if (proc_error)		goto open_error;	// Configure port	configure(config);	return noErr;open_error:	serial_proc = NULL;	if (reply_port) {		DeleteMsgPort(reply_port);		reply_port = NULL;	}	return openErr;}
开发者ID:AlexandreCo,项目名称:macemu,代码行数:46,


示例27: ether_init

bool ether_init(void){	// Do nothing if no Ethernet device specified	if (PrefsFindString("ether") == NULL)		return false;	// Initialize protocol list	NewList(&prot_list);	// Create message port	reply_port = CreateMsgPort();	if (reply_port == NULL)		goto open_error;	D(bug("signal mask %08lx/n", 1 << reply_port->mp_SigBit));	// Start process	proc_error = false;	SetSignal(0, SIGF_SINGLE);	net_proc = CreateNewProcTags(		NP_Entry, (ULONG)net_func,		NP_Name, (ULONG)"Basilisk II Ethernet Task",		NP_Priority, 1,		TAG_END	);	if (net_proc == NULL)		goto open_error;	// Wait for signal from process	Wait(SIGF_SINGLE);	// Initialization error? Then bail out	if (proc_error)		goto open_error;	// Everything OK	return true;open_error:	net_proc = NULL;	if (reply_port) {		DeleteMsgPort(reply_port);		reply_port = NULL;	}	return false;}
开发者ID:dougmencken,项目名称:macemu,代码行数:45,


示例28: AtaTaskFini

void AtaTaskFini (void){	if (ata_isr14_enabled == TRUE)	{		ISRHandlerRemove (ata_isr14_handler);		FreeSignal (ata_isr14_signal);	}		if (ata_isr15_enabled == TRUE)	{		ISRHandlerRemove (ata_isr15_handler);		FreeSignal (ata_isr15_signal);	}					DeleteMsgPort (ata_msgport);	FreeSignal (ata_alarm_signal);	Exit (0);}
开发者ID:cod5,项目名称:kielder,代码行数:18,



注:本文中的DeleteMsgPort函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DeleteNode函数代码示例
C++ DeleteMenu函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。