]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/src/runnable.cpp
Se agrega un poco mas de info de debug y se corrige un detalle.
[z.facultad/75.42/plaqui.git] / Server / src / runnable.cpp
index 68296e4442e7762e6bc3493cf25eaa5a63a2d6ab..d9d5048ecbacf0dea076a3c43ab22251e7c317dc 100644 (file)
@@ -40,30 +40,35 @@ namespace Server {
 
 Runnable::~Runnable(void) {
 #ifdef DEBUG
-       cerr << __FILE__ << ": destructor(this = " << this << ")"
+       cerr << __FILE__ << "(" << __LINE__ << ")"
+               << ": destructor(this = " << this << ")"
                << endl;
 #endif // DEBUG
 }
 
 Runnable::Runnable(void): thread(0), stop(false) {
 #ifdef DEBUG
-       cerr << __FILE__ << ": constructor." << endl;
+       cerr << __FILE__ << "(" << __LINE__ << ")"
+               << ": constructor." << endl;
 #endif // DEBUG
 }
 
 void Runnable::static_run(Runnable* runner) {
 #ifdef DEBUG
-       cerr << __FILE__ << ": static_run(runner = " << runner << ")"
+       cerr << __FILE__ << "(" << __LINE__ << ")"
+               << ": static_run(runner = " << runner << ")"
                << endl;
 #endif // DEBUG
        runner->real_run();
        runner->finished();
+       //runner->thread->join();
        delete runner;
 }
 
 void Runnable::run(bool detach) {
 #ifdef DEBUG
-       cerr << __FILE__ << ": run(detach = " << detach << ")" << endl;
+       cerr << __FILE__ << "(" << __LINE__ << ")"
+               << ": run(detach = " << detach << ")" << endl;
 #endif // DEBUG
        // Si vamos a correr la tarea en un thread.
        if (detach) {
@@ -71,7 +76,7 @@ void Runnable::run(bool detach) {
                // finalizar, pasandole el puntero al objeto.
                thread = Glib::Thread::create(
                                SigC::bind<Runnable*>(SigC::slot(&Runnable::static_run), this),
-                               true);
+                               true);//false);
        // Si no corremos la tarea normalmente.
        } else {
                real_run();
@@ -81,7 +86,8 @@ void Runnable::run(bool detach) {
 
 void Runnable::finish(bool attach) {
 #ifdef DEBUG
-       cerr << __FILE__ << ": finish(attach = " << attach << ")" << endl;
+       cerr << __FILE__ << "(" << __LINE__ << ")"
+               << ": finish(attach = " << attach << ")" << endl;
 #endif // DEBUG
        stop = true;
        if (attach) {
@@ -93,6 +99,10 @@ Runnable::SignalFinished& Runnable::signal_finished(void) {
        return finished;
 }
 
+Runnable::SignalError& Runnable::signal_error(void) {
+       return error;
+}
+
 } // namespace Server
 
 } // namespace PlaQui