Modified send and recv syntax + added call to scheduler to fetch messages.
authorMilind Bhandarkar <milind@cs.uiuc.edu>
Tue, 18 Jan 2000 20:27:48 +0000 (20:27 +0000)
committerMilind Bhandarkar <milind@cs.uiuc.edu>
Tue, 18 Jan 2000 20:27:48 +0000 (20:27 +0000)
src/langs/simplemsg/sm.c
src/langs/simplemsg/sm.h

index 743a6c2e28493be1e125bfaae1d4dce76771fccf..08f74ca43c6d9e94a919de197fa6aa18c53b2024 100644 (file)
@@ -112,6 +112,7 @@ int *rtags;
   int headsize;
 
   while (1) {  
+    CsdScheduler(0);
     msg = (SMMessage)CmmGet(CpvAccess(SMMessages), ntags, tags, rtags);
     if (msg) break;
   }
index 2b82bc03b3a12082b74f0d5ce41aaa91db717f62..11c273bd728708b641541b94580b424e041982de 100644 (file)
@@ -3,6 +3,13 @@
 
 #define SMWildCard CmmWildCard
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void
+SMInit(char**);
+
 extern void 
 GeneralSend(int pe, int ntags, int *tags, void *buf, int buflen);
 
@@ -13,31 +20,31 @@ GeneralBroadcast(int rootpe, int ntags, int *tags,
 extern int 
 GeneralRecv(int ntags, int *tags, void *buf, int buflen, int *rtags);
 
-static void send(pe, tag, buf, buflen)
-int pe, buflen;
-int tag;
-void *buf;
+#ifdef __cplusplus
+}
+#endif
+
+static void send(int pe, int tag, int buflen, void *buf)
 { 
-  int CsmTag=(tag); 
-  GeneralSend(pe, 1, &CsmTag, buf, buflen); 
+  int tags[2];
+  tags[0] = CmiMyPe();
+  tags[1] = (tag); 
+  GeneralSend(pe, 2, tags, buf, buflen); 
 }
 
-static int broadcast(rootpe, tag, buf, buflen, rtag)
-int rootpe, buflen;
-int tag, *rtag;
-void *buf;
+static int broadcast(int rootpe, int tag, int buflen, void *buf, int *rtag)
 { 
   int CsmTag=(tag); 
   return GeneralBroadcast(rootpe, 1, &CsmTag, buf, buflen, rtag); 
 }
 
-static int recv(tag, buf, buflen, rtag)
-int tag, buflen;
-int *rtag;
-void *buf;
+static int recv(int pe, int tag, int buflen, void *buf)
 {
-  int CsmTag=(tag); 
-  return GeneralRecv(1, &CsmTag, buf, buflen, rtag); 
+  int tags[2];
+  int rtag;
+  tags[0] = pe;
+  tags[1] = tag;
+  return GeneralRecv(2, tags, buf, buflen, &rtag); 
 }
 
 #endif