- if( ( ibuf = (char *) malloc( 2048 ) ) == NULL ) {
- rmr_vlog( RMR_VL_WARN, "ibuf malloc fail\n" );
- return SI_ERROR;
+extern int SIwait( struct ginfo_blk *gptr ) {
+ int fd = -1; // file descriptor for use in this routine
+ int ((*cbptr)()); // pointer to callback routine to call
+ int status = SI_OK; // return status
+ int addrlen = 0; // length of address from recvfrom call
+ int i; // loop index
+ struct tp_blk *tpptr = NULL; // pointer at tp stuff
+ struct tp_blk *nextone= NULL; // point at next block to process in loop
+ int pstat = 0; // poll status
+ struct timeval timeout; // delay to use on select call
+ char *buf = NULL;
+ char *ibuf = NULL;
+
+ if( gptr->magicnum != MAGICNUM ) { // if not a valid ginfo block
+ rmr_vlog( RMR_VL_CRIT, "SI95: wait: bad global info struct magic number is wrong\n" );
+ return SI_ERROR;