#include #include #include "pvm3.h" #include "pvm_lib.h" int pvm_error_check(int info, char* routine){ if(info < 0){ fprintf(stderr, "PVM error %s: %s failed -- aborting\n", pvmErrorCode2String(info), routine); pvm_exit(); exit(EXIT_FAILURE); } return info; } char* pvmErrorCode2String(int errcode){ switch(errcode){ case PvmBadParam: return "PvmBadParam"; case PvmMismatch: return "PvmMismatch"; case PvmNoData: return "PvmNoData"; case PvmNoHost: return "PvmNoHost"; case PvmNoFile: return "PvmNoFile"; case PvmNoMem: return "PvmNoMem"; case PvmBadMsg: return "PvmBadMsg"; case PvmSysErr: return "PvmSysErr"; case PvmNoBuf: return "PvmNoBuf"; case PvmNoSuchBuf: return "PvmNoSuchBuf"; case PvmNullGroup: return "PvmNullGroup"; case PvmDupGroup: return "PvmDupGroup"; case PvmNoGroup: return "PvmNoGroup"; case PvmNotInGroup: return "PvmNotInGroup"; case PvmNoInst: return "PvmNoInst"; case PvmHostFail: return "PvmHostFail"; case PvmNoParent: return "PvmNoParent"; case PvmNotImpl: return "PvmNotImpl"; case PvmDSysErr: return "PvmDSysErr"; case PvmBadVersion: return "PvmBadVersion"; case PvmOutOfRes: return "PvmOutOfRes"; case PvmDupHost: return "PvmDupHost"; case PvmCantStart: return "PvmCantStart"; case PvmAlready: return "PvmAlready"; case PvmNoTask: return "PvmNoTask"; case PvmNoEntry: return "PvmNoEntry"; case PvmDupEntry: return "PvmDupEntry"; default: return "Unknown Code"; } }