]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/tests/server_test.cpp
Se agrega un archivo olvidado
[z.facultad/75.42/plaqui.git] / Server / tests / server_test.cpp
index 25d01a676dcbaf258cd9ab1222c02b58790775fe..1f505eef20a2a520d2dcf8bc38e32ecfc409ea82 100644 (file)
 #include "plaqui/server/server.h"
 #include "plaqui/server/string.h"
 #include <socket++/sockinet.h>
+#include <glibmm/timer.h>
 #include <iostream>
 #include <exception>
 
 using namespace std;
 using namespace PlaQui::Server;
 
+Server* server = NULL;
+
 void on_error(const Runnable::Error& code, const string& desc) {
        cerr << "--------------------------------------------------------" << endl;
        cerr << "Error en el servidor:" << endl;
@@ -43,6 +46,11 @@ void on_error(const Runnable::Error& code, const string& desc) {
        cerr << "--------------------------------------------------------" << endl;
 }
 
+void on_finished(void) {
+       cerr << "Murió el servidor!" << endl;
+       server = NULL;
+}
+
 int main(int argc, char* argv[]) {
 
        // Termina con mas informacion si hay una excepcion no manejada.
@@ -68,7 +76,6 @@ int main(int argc, char* argv[]) {
        // Inicializa threads.
        Glib::thread_init();
 
-       Server* server = NULL;
        try {
                // Crea el server (empieza a escuchar).
                server = new Server(filename, port);
@@ -108,8 +115,13 @@ int main(int argc, char* argv[]) {
        // Corre el server.
        server->run(false);
 
+       // Espera a que el server se muera.
+       while (server) {
+               Glib::usleep(1000000);
+       }
+
        // Como no detachee el server, lo tengo que eliminar a mano.
-       delete server;
+       //delete server;
 
        return 0;
 }