changeset 1008:8c7015f602cf

LocalDGM add isEmpty
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Thu, 13 Jan 2022 03:23:46 +0900
parents 111e313e883e
children 2c73de738917
files src/parallel_execution/SingleLinkedQueue.cbc src/parallel_execution/examples/socketQueue/Local_test.cbc
diffstat 2 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/SingleLinkedQueue.cbc	Thu Jan 06 22:53:52 2022 +0900
+++ b/src/parallel_execution/SingleLinkedQueue.cbc	Thu Jan 13 03:23:46 2022 +0900
@@ -48,6 +48,7 @@
 }
 
 __code takeSingleLinkedQueue(struct SingleLinkedQueue* queue, __code next(union Data* data, ...)) {
+    printf("take\n");
     struct Element* top = queue->top;
     struct Element* nextElement = top->next;
     if (queue->top == queue->last) {
--- a/src/parallel_execution/examples/socketQueue/Local_test.cbc	Thu Jan 06 22:53:52 2022 +0900
+++ b/src/parallel_execution/examples/socketQueue/Local_test.cbc	Thu Jan 13 03:23:46 2022 +0900
@@ -29,7 +29,7 @@
 __code Task3(TQueue* localDGMQueue, FileString* string){
     printf("take[%s]\n", string->str);
     printf("Task3_exit\n");
-    goto localDGMQueue->take(exit_code);
+    goto localDGMQueue->isEmpty(noEmp, whenEmp);
 }
 
 __code Task3_stub(struct Context* context){
@@ -38,6 +38,16 @@
     goto Task3(context, localDGMQueue, string);
 }
 
+__code whenEmp(TQueue* localDGMQueue){
+    printf("iEmpty\n");
+    goto exit_code();
+}
+
+__code noEmp(TQueue* localDGMQueue){
+    printf("noEmp\n");
+    goto exit_code();
+}
+
 int main(int argc, char** argv) {
     printf("main\n");
     goto Task1();