/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_dump_load(void) { if(msg_register(&mo_dump_msg) == NULL) return -1; return 0; }
/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_connect_load(void) { if(msg_register(&mo_connect_msg) == NULL) return -1; return 0; }
/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_invite_load(void) { if(msg_register(&m_invite_msg) == NULL) return -1; return 0; }
/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_ntopic_load(void) { if(msg_register(&ms_ntopic_msg) == NULL) return -1; return 0; }
/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_kill_load(void) { if(msg_register(&mo_kill_msg) == NULL) return -1; return 0; }
/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_lusers_load(void) { if(msg_register(&m_lusers_msg) == NULL) return -1; return 0; }
/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_nbounce_load(void) { if(msg_register(&ms_nbounce_msg) == NULL) return -1; return 0; }
/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_motd_load(void) { if(msg_register(&m_motd_msg) == NULL) return -1; return 0; }
/* -------------------------------------------------------------------------- * * Module hooks * * -------------------------------------------------------------------------- */ int m_nclock_load(void) { if(msg_register(&ms_nclock_msg) == NULL) return -1; hook_register(server_login, HOOK_DEFAULT, ms_nclock_hook); server_default_caps |= CAP_CLK; return 0; }
static globus_result_t transfer_control_common_init(transfer_control_msg_type_t OpType, msg_handle_t * MsgHandle, transfer_control_t ** TransferControl) { globus_result_t result = GLOBUS_SUCCESS; GlobusGFSName(__func__); GlobusGFSHpssDebugEnter(); /* Allocate the handle. */ *TransferControl = (transfer_control_t *) globus_calloc(1, sizeof(transfer_control_t)); if (*TransferControl == NULL) { result = GlobusGFSErrorMemory("transfer_control_t"); goto cleanup; } /* Initialize the entries. */ globus_mutex_init(&(*TransferControl)->Lock, NULL); (*TransferControl)->OpType = OpType; (*TransferControl)->MsgHandle = MsgHandle; (*TransferControl)->State = TRANSFER_CONTROL_WAIT_FOR_DATA_READY; (*TransferControl)->MsgRegisterID = MSG_REGISTER_ID_NONE; /* Intialize the range list. Fill it later. */ result = range_list_init(&(*TransferControl)->TransferRangeList); if (result != GLOBUS_SUCCESS) goto cleanup; /* Register to receive messages. */ result = msg_register(MsgHandle, MSG_COMP_ID_IPC_CONTROL, MSG_COMP_ID_TRANSFER_CONTROL, transfer_control_msg_recv, *TransferControl, &(*TransferControl)->MsgRegisterID); cleanup: if (result != GLOBUS_SUCCESS) { GlobusGFSHpssDebugExitWithError(); return result; } GlobusGFSHpssDebugExit(); return GLOBUS_SUCCESS; }
static void receiver( void * dummy ) { char dat[32]; int cc, i; struct data *d; struct timeval tp1, tp2; struct timezone tzp; printf( "the receiver is starting.\n" ); msg_register( QUEUE1, msg_pools ); d = (struct data *)dat; gettimeofday( &tp1, &tzp ); i = 0; while (1) { cc = msg_recv( QUEUE1, dat, 32, 0 ); if ( d->cmd == CMD_END ) break; if (( ++i % 10 ) == 0 ) { d->cmd == CMD_ACK; msg_send( QUEUE2, dat, 4 ); } } gettimeofday( &tp2, &tzp ); msg_deregister( QUEUE1 ); printf( "receiver is done. got %d msgs\n", i ); printf( "%d.%06d to %d.%06d\n", tp1.tv_sec, tp1.tv_usec, tp2.tv_sec, tp2.tv_usec ); }
static void sender( void * dummy ) { char dat[32]; int cc, i; struct data *d; struct data timermsg; printf( "The sender is starting.\n" ); msg_register( QUEUE2, msg_pools ); th_suspend( 0 ); d = (struct data *)dat; timermsg.cmd = CMD_END; timer_create( 5000, QUEUE2, (void*)&timermsg, 4, NULL ); while (1) { for (i=0; i < 10; i++) { d->cmd = CMD_DATA; msg_send( QUEUE1, (void*)d, 32 ); } msg_recv( QUEUE2, (void*)d, 32, 0 ); if ( d->cmd == CMD_END ) { msg_send( QUEUE1, (void*)d, 4 ); break; } } msg_deregister( QUEUE2 ); printf( "sender is done.\n" ); }