changeset 1009:2c73de738917

merge
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Thu, 13 Jan 2022 03:24:14 +0900
parents 8c7015f602cf (current diff) 0fc5916a1f64 (diff)
children 906ad9656e7a
files
diffstat 2 files changed, 26 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/examples/gearsDirectory/GearsDirectoryImpl.cbc	Thu Jan 13 03:23:46 2022 +0900
+++ b/src/parallel_execution/examples/gearsDirectory/GearsDirectoryImpl.cbc	Thu Jan 13 03:24:14 2022 +0900
@@ -45,7 +45,10 @@
 __code mkdir2(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) {
     Node* dir = new Node();
     dir->key = name->value;
-    dir->value = gearsDirectory->INodeNumber;
+    Integer* iNum = new Integer();
+    iNum->value = gearsDirectory->INodeNumber;
+    dir->value = iNum;
+    gearsDirectory->INodeNumber = gearsDirectory->INodeNumber + 1;
     struct FTree* cDirectory = new FTree();
     cDirectory = gearsDirectory->currentDirectory;
     goto cDirectory->put(dir, next(...));
@@ -59,11 +62,18 @@
     goto cDirectory->get(dir, ls2);
 }
 
-__code ls2(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) {
-    printf("%d\n", gearsDirectory->currentDirectory->fTree->Node.value->Node.key);
+__code ls2(struct GearsDirectoryImpl* gearsDirectory, struct Node* node, __code next(...)) {
+    printf("%d\n", node->key);
     goto next(...);
 }
 
+__code ls2_stub(struct Context* context) {
+	GearsDirectoryImpl* gearsDirectory = (GearsDirectoryImpl*)GearImpl(context, GearsDirectory, gearsDirectory);
+	Integer* name = Gearef(context, FTree)->node;
+	enum Code next = Gearef(context, GearsDirectory)->next;
+	goto ls2(context, gearsDirectory, name, next);
+}
+
 __code cd2Child(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) {
     // 現在のtreeからnode->keyがnameと一致するものをsearch
     struct FTree* cDirectory = new FTree();
--- a/src/parallel_execution/examples/gearsDirectory/GearsDirectory_test.cbc	Thu Jan 13 03:23:46 2022 +0900
+++ b/src/parallel_execution/examples/gearsDirectory/GearsDirectory_test.cbc	Thu Jan 13 03:24:14 2022 +0900
@@ -6,7 +6,7 @@
 __code task1(GearsDirectory* gearsDirectory){     
     Integer* name = new Integer();
     name->value = 1;
-    goto gearsDirectory->mkdir(name, task5);
+    goto gearsDirectory->mkdir(name, task4);
 }
 
 __code task1_stub(struct Context* context){
@@ -34,9 +34,20 @@
     goto task3(context, gearsDirectory);
 }
 
+__code task4(GearsDirectory* gearsDirectory){     
+    Integer* name = new Integer();
+    name->value = 2;
+    goto gearsDirectory->mkdir(name, task5);
+}
+
+__code task4_stub(struct Context* context){
+    GearsDirectory* gearsDirectory = createGearsDirectoryImpl(context);
+    goto task4(context, gearsDirectory);
+}
+
 __code task5(GearsDirectory* gearsDirectory){
     Integer* name = new Integer();
-    name->value = 1;
+    name->value = 2;
     goto gearsDirectory->ls(name, exit_code);
 }