|
00001 #include "AdaptiveLevels.hpp" 00002 00003 // 00004 // polling routine for thread 00005 // 00006 // has to be compiled seperately from AdaptiveLevels in order to protect the 00007 // actual polling loop from compiler optimizations 00008 // 00009 void *PollProcessSMPjob(void *jb) { 00010 SMPjob *job=(SMPjob *)jb ; 00011 00012 // poll 00013 poll: ; 00014 00015 while (job->getpoll()) ; 00016 job->setpoll() ; 00017 00018 if (job->terminate) { return NULL ; } 00019 00020 if ((job->op !=WENO3) && (job->op !=WENO5)) ProcessSMPjob(jb) ; 00021 else ProcessSMPjobWENO(jb) ; 00022 00023 goto poll ; 00024 }