Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
delete the process at the end of the main method
authorcherierm <cherierm@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 8 Jul 2008 08:53:23 +0000 (08:53 +0000)
committercherierm <cherierm@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 8 Jul 2008 08:53:23 +0000 (08:53 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5858 48e7efb5-ca39-0410-a469-dd3cf9ba447f

16 files changed:
examples/cxx/autoDestination/Forwarder.cxx
examples/cxx/autoDestination/Master.cxx
examples/cxx/autoDestination/Slave.cxx
examples/cxx/basic/BasicTask.hpp
examples/cxx/basic/Forwarder.cxx
examples/cxx/basic/Master.cxx
examples/cxx/basic/Slave.cxx
examples/cxx/comm_time/Main.cxx
examples/cxx/comm_time/Master.cxx
examples/cxx/comm_time/Slave.cxx
examples/cxx/explicitDestination/Forwarder.cxx
examples/cxx/explicitDestination/Master.cxx
examples/cxx/explicitDestination/Slave.cxx
examples/cxx/ping_pong/Receiver.cxx
examples/cxx/ping_pong/Sender.cxx
examples/cxx/suspend/DreamMaster.cxx

index 07a1a3a..24e2372 100644 (file)
@@ -55,6 +55,8 @@ int Forwarder::main(int argc, char** argv)
        \r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "I'm done. See you!" << endl;\r
        \r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "I'm done. See you!" << endl;\r
+\r
+       delete this;\r
        \r
        return 0;\r
 }
\ No newline at end of file
        \r
        return 0;\r
 }
\ No newline at end of file
index d3b11e8..9a2d915 100644 (file)
@@ -24,16 +24,13 @@ int Master::main(int argc, char** argv)
        \r
        cout << "Hello I'm " << getName() << " on " << getHost().getName() << "!" << endl;\r
                \r
        \r
        cout << "Hello I'm " << getName() << " on " << getHost().getName() << "!" << endl;\r
                \r
-               \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "argc=" << argc << endl;\r
                \r
        for (int i = 0; i< argc; i++)       \r
                cout << "argv:" << argv[i] << endl;\r
        \r
        sscanf(argv[0],"%d", &taskCount);\r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "argc=" << argc << endl;\r
                \r
        for (int i = 0; i< argc; i++)       \r
                cout << "argv:" << argv[i] << endl;\r
        \r
        sscanf(argv[0],"%d", &taskCount);\r
-       \r
        sscanf(argv[1],"%lg", &taskComputeSize);\r
        sscanf(argv[1],"%lg", &taskComputeSize);\r
-       \r
        sscanf(argv[2],"%lg", &taskCommunicateSize);\r
        \r
        BasicTaskPtr* basicTasks = new BasicTaskPtr[taskCount];\r
        sscanf(argv[2],"%lg", &taskCommunicateSize);\r
        \r
        BasicTaskPtr* basicTasks = new BasicTaskPtr[taskCount];\r
@@ -46,7 +43,6 @@ int Master::main(int argc, char** argv)
        }               \r
        \r
        int aliasCount = argc - 3;\r
        }               \r
        \r
        int aliasCount = argc - 3;\r
-       \r
                \r
        char** aliases = (char**) calloc(aliasCount, sizeof(char*));\r
                \r
                \r
        char** aliases = (char**) calloc(aliasCount, sizeof(char*));\r
                \r
@@ -89,5 +85,7 @@ int Master::main(int argc, char** argv)
        delete[] basicTasks;\r
        delete[] aliases;\r
 \r
        delete[] basicTasks;\r
        delete[] aliases;\r
 \r
+       delete this;\r
+\r
        return 0;\r
 }
\ No newline at end of file
        return 0;\r
 }
\ No newline at end of file
index a00ecf4..8df4712 100644 (file)
@@ -12,9 +12,8 @@ MSG_IMPLEMENT_DYNAMIC(Slave, Process);
 \r
 int Slave::main(int argc, char** argv)\r
 {\r
 \r
 int Slave::main(int argc, char** argv)\r
 {\r
-       cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Hello I'm " << getName() << " on " << getHost().getName() << "!" << endl;\r
+       cout <<"[" << getName() << ":" << getHost().getName() << ": PID " << getPID() << "] " << "Hello I'm " << getName() << " on " << getHost().getName() << "!" << endl;\r
        \r
        \r
-               \r
        Task* receivedTask;\r
        BasicTask* basicTask;\r
        \r
        Task* receivedTask;\r
        BasicTask* basicTask;\r
        \r
@@ -30,16 +29,20 @@ int Slave::main(int argc, char** argv)
        \r
                basicTask = reinterpret_cast<BasicTask*>(receivedTask);\r
        \r
        \r
                basicTask = reinterpret_cast<BasicTask*>(receivedTask);\r
        \r
-               cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received \"" << basicTask->getName() << "\" " << endl;\r
+               cout <<"[" << getName() << ":" << getHost().getName() << ": PID " << getPID() << "] " << "Received \"" << basicTask->getName() << "\" " << endl;\r
        \r
        \r
-               cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Processing \"" << basicTask->getName() <<  "\" " << endl;      \r
+               cout <<"[" << getName() << ":" << getHost().getName() << ": PID " << getPID() << "] " << "Processing \"" << basicTask->getName() <<  "\" " << endl;      \r
+               \r
                basicTask->execute();\r
                basicTask->execute();\r
-               cout <<"[" << getName() << ":" << getHost().getName() << "] " << "\"" << basicTask->getName() << "\" done " << endl;\r
+               \r
+               cout <<"[" << getName() << ":" << getHost().getName() << ": PID " << getPID() << "] " << "\"" << basicTask->getName() << "\" done " << endl;\r
        \r
                delete basicTask;\r
        }\r
                \r
        \r
                delete basicTask;\r
        }\r
                \r
-       cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
+       cout <<"[" << getName() << ":" << getHost().getName() << ": PID " << getPID() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
+       \r
+       delete this;\r
 \r
        return 0;\r
 }
\ No newline at end of file
 \r
        return 0;\r
 }
\ No newline at end of file
index 14f8e1d..ca3c477 100644 (file)
@@ -17,11 +17,6 @@ public:
        BasicTask(const char* name, double computeDuration, double messageSize)\r
        throw (InvalidArgumentException, NullPointerException)\r
        :Task(name, computeDuration, messageSize){}\r
        BasicTask(const char* name, double computeDuration, double messageSize)\r
        throw (InvalidArgumentException, NullPointerException)\r
        :Task(name, computeDuration, messageSize){}\r
-\r
-       /*virtual const BasicTask& operator = (const BasicTask& rTask) {\r
-               Task::operator=(rTask);\r
-               return *this;\r
-       }*/\r
 };\r
 \r
 typedef BasicTask* BasicTaskPtr;\r
 };\r
 \r
 typedef BasicTask* BasicTaskPtr;\r
index 1fa5c2d..d5fcdec 100644 (file)
@@ -65,6 +65,8 @@ int Forwarder::main(int argc, char** argv)
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "I'm done. See you!" << endl;\r
        \r
        delete[] slaves;\r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "I'm done. See you!" << endl;\r
        \r
        delete[] slaves;\r
+\r
+       delete this;\r
       \r
        return 0;\r
 }
\ No newline at end of file
       \r
        return 0;\r
 }
\ No newline at end of file
index f6e06d2..cec35f1 100644 (file)
@@ -4,6 +4,8 @@
 #include <Host.hpp>\r
 #include <HostNotFoundException.hpp>\r
 \r
 #include <Host.hpp>\r
 #include <HostNotFoundException.hpp>\r
 \r
+#include <Msg.hpp>\r
+\r
 #include <iostream>\r
 using namespace std;\r
 \r
 #include <iostream>\r
 using namespace std;\r
 \r
@@ -82,8 +84,8 @@ int Master::main(int argc, char** argv)
                cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Sending \"" << todo[i]->getName() << "\" to \"" << slaves[i % slaveCount].getName() << "\"" << endl;\r
        \r
                if(!strcmp(Host::currentHost().getName(), slaves[i % slaveCount].getName())) \r
                cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Sending \"" << todo[i]->getName() << "\" to \"" << slaves[i % slaveCount].getName() << "\"" << endl;\r
        \r
                if(!strcmp(Host::currentHost().getName(), slaves[i % slaveCount].getName())) \r
-                       cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Hey ! It's me ! ";\r
-       \r
+                       cout <<"[" <<  getName() << ":" << getHost().getName() << "] " << "Hey ! It's me ! ";\r
+\r
                slaves[i % slaveCount].put(channel, todo[i]);\r
        }\r
        \r
                slaves[i % slaveCount].put(channel, todo[i]);\r
        }\r
        \r
@@ -92,19 +94,14 @@ int Master::main(int argc, char** argv)
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "All tasks have been dispatched. Let's tell everybody the computation is over." << endl;\r
        \r
        for (int i = 0; i < slaveCount; i++) \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "All tasks have been dispatched. Let's tell everybody the computation is over." << endl;\r
        \r
        for (int i = 0; i < slaveCount; i++) \r
-       {\r
-               slaves[i].put(channel, new FinalizeTask());\r
-       }\r
-       \r
-\r
-       for(int i = 0; i < numberOfTasks; i++)\r
-               delete todo[i];\r
+                       slaves[i].put(channel, new FinalizeTask());\r
 \r
        delete[] todo;\r
 \r
        delete[] todo;\r
-\r
        delete[] slaves;\r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Goodbye now!" << endl;\r
 \r
        delete[] slaves;\r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Goodbye now!" << endl;\r
 \r
+       delete this;\r
+\r
        return 0;\r
 }
\ No newline at end of file
        return 0;\r
 }
\ No newline at end of file
index 775dd24..10be8fc 100644 (file)
@@ -29,9 +29,13 @@ int Slave::main(int argc, char** argv)
                t->execute();\r
                \r
                cout <<"[" << getName() << ":" << getHost().getName() << "] " << "\"" << t->getName() << "\" done " << endl;\r
                t->execute();\r
                \r
                cout <<"[" << getName() << ":" << getHost().getName() << "] " << "\"" << t->getName() << "\" done " << endl;\r
+\r
+               delete t;\r
        }\r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
        }\r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
+       \r
+       delete this;\r
 \r
        return 0;\r
 }
\ No newline at end of file
 \r
        return 0;\r
 }
\ No newline at end of file
index dbda264..0b9a7f1 100644 (file)
@@ -8,5 +8,4 @@ main(int argc, char* argv[])
        Simulation s;\r
        \r
        return s.execute(argc, argv);\r
        Simulation s;\r
        \r
        return s.execute(argc, argv);\r
-       \r
 }\r
 }\r
index 7ab27b6..c68e847 100644 (file)
@@ -85,5 +85,8 @@ int Master::main(int argc, char** argv)
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "All finalize messages have been dispatched. Goodbye now!" << endl;\r
        \r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "All finalize messages have been dispatched. Goodbye now!" << endl;\r
        \r
+\r
+       delete[] slaves;\r
+       delete this;\r
        return 0;\r
 }
\ No newline at end of file
        return 0;\r
 }
\ No newline at end of file
index 090fce3..4a3a78b 100644 (file)
@@ -39,7 +39,8 @@ int Slave::main(int argc, char** argv)
        }\r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
        }\r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
-\r
+       \r
+       delete this;\r
        return 0;\r
        \r
 }
\ No newline at end of file
        return 0;\r
        \r
 }
\ No newline at end of file
index f209d18..6ed093c 100644 (file)
@@ -56,5 +56,6 @@ int Forwarder::main(int argc, char** argv)
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "I'm done. See you!" << endl;\r
        \r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "I'm done. See you!" << endl;\r
        \r
+       delete this;\r
        return 0;\r
 }
\ No newline at end of file
        return 0;\r
 }
\ No newline at end of file
index d3b11e8..9184ee4 100644 (file)
@@ -89,5 +89,7 @@ int Master::main(int argc, char** argv)
        delete[] basicTasks;\r
        delete[] aliases;\r
 \r
        delete[] basicTasks;\r
        delete[] aliases;\r
 \r
+       delete this;\r
+\r
        return 0;\r
 }
\ No newline at end of file
        return 0;\r
 }
\ No newline at end of file
index fdfebb2..6b4de50 100644 (file)
@@ -39,6 +39,7 @@ int Slave::main(int argc, char** argv)
        }\r
                \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
        }\r
                \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "Received Finalize. I'm done. See you!" << endl;\r
-\r
+       \r
+       delete this;\r
        return 0;\r
 }
\ No newline at end of file
        return 0;\r
 }
\ No newline at end of file
index 67e67a6..fec2c36 100644 (file)
@@ -39,6 +39,8 @@ int Receiver::main(int argc, char** argv)
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << " --- bw " << commSizeBw/communicationTime << " ----" << endl;\r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "goodbye!" << endl;\r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << " --- bw " << commSizeBw/communicationTime << " ----" << endl;\r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "goodbye!" << endl;\r
+       \r
+       delete this;\r
 \r
        return 0;\r
 }
\ No newline at end of file
 \r
        return 0;\r
 }
\ No newline at end of file
index 417bf73..d0518ba 100644 (file)
@@ -54,6 +54,8 @@ int Sender::main(int argc, char** argv)
        \r
        delete[] hostTable;\r
 \r
        \r
        delete[] hostTable;\r
 \r
+       delete this;\r
+\r
        return 0;\r
     \r
 }
\ No newline at end of file
        return 0;\r
     \r
 }
\ No newline at end of file
index dd1bab9..0bf21ec 100644 (file)
@@ -47,6 +47,8 @@ int DreamMaster::main(int argc, char** argv)
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "OK, goodbye now." << endl;\r
 \r
        \r
        cout <<"[" << getName() << ":" << getHost().getName() << "] " << "OK, goodbye now." << endl;\r
 \r
+       delete this;\r
+\r
        return 0;\r
        \r
 }
\ No newline at end of file
        return 0;\r
        \r
 }
\ No newline at end of file