Scheduler: Fix build breakage from missing return
[charm.git] / src / conv-core / modifyScheduler.C
1 /** 
2     @file 
3     Routines for modifying the Charm++ prioritized message queue
4     @ingroup CharmScheduler
5     
6     @addtogroup CharmScheduler
7     @{
8  */
9
10
11 #include "charm++.h"
12 #include "queueing.h" // For access to scheduler data structures
13 #include "conv-trace.h"
14
15 /** Search Queue for messages associated with a specified entry method */ 
16 void CqsIncreasePriorityForEntryMethod(Queue q, const int entrymethod){
17   int i;
18   void **entries;
19   int numMessages = q->length;
20   
21   CqsEnumerateQueue(q, &entries);
22   
23   for(i=0;i<numMessages;i++){
24     envelope *env = (envelope*)entries[i];
25     if(env != NULL){
26       if(env->getMsgtype() == ForArrayEltMsg || env->getMsgtype() == ForChareMsg){
27         const int ep = env->getsetArrayEp();
28         if(ep==entrymethod){
29           // Remove the entry from the queue      
30           CqsRemoveSpecific(q,env);
31           
32           int prio = -50000; 
33           CqsEnqueueGeneral(q, (void*)env, CQS_QUEUEING_IFIFO, 0, (unsigned int*)&prio);
34
35           char traceStr[64];
36           sprintf(traceStr, "Replacing %p in prioq with NULL", env);
37           traceUserSuppliedNote(traceStr);
38
39           break;
40         }
41       }  
42     }
43   }
44   
45   CmiFree(entries);
46 }
47
48
49 /** @} */