void offlineInit() { #ifdef INSERTION_TEST gettimeofday(&offlineInitDate, NULL); #endif /* INSERTION_TEST */ participate(true); succ = searchSucc(myAddress); if (addrIsMine(succ)) { signalArrival(myAddress, (addressSet) myAddress); bqueueEnqueue(wagonsToDeliver, wagonToSend); wagonToSend = newWiw(); automatonState = ALONE_INSERT_WAIT; //printf("Nextstate(fake) = %s\n", stateToStr(automatonState)); int rc = sem_post(sem_init_done); if (rc) ERROR_AT_LINE(EXIT_FAILURE, errno, __FILE__, __LINE__, "error in sem_post"); prec = myAddress; return; } sendOther(succ, false, INSERT, myAddress); automatonState = OFFLINE_CONNECTION_ATTEMPT; //printf("Nextstate(fake) = %s\n", stateToStr(automatonState)); return; }
void quickSort::sort(int h, int t) { if ( h < t ) { int q = participate(h, t); sort(h, q - 1); sort(q + 1, t); } }
void waitBeforeConnect() { int rc; pthread_t sleepThread; if (waitNb > waitNbMax) { ERROR_AT_LINE_WITHOUT_ERRNUM(EXIT_FAILURE, __FILE__, __LINE__, "waitNbMax owerflowed"); } participate(false); if (prec != 0) { closeConnection(prec, true); prec = 0; } if (succ != 0) { closeConnection(succ, false); succ = 0; } rc = pthread_create(&sleepThread, NULL, &sleepTreatment, NULL ); if (rc < 0) ERROR_AT_LINE(EXIT_FAILURE, rc, __FILE__, __LINE__, "pthread_create"); rc = pthread_detach(sleepThread); if (rc < 0) ERROR_AT_LINE(EXIT_FAILURE, rc, __FILE__, __LINE__, "pthread_detach"); return; }
/*reduce data over selected mpi nodes*/ MPIReduce() : mpiRank(-1), numRanks(0), isMPICommInitialized(false) { participate(true); }