]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/src/receiver.cpp
Capturo las seniales ANSI C SIGINT, SIGTERM y SIGQUIT para que el server salga
[z.facultad/75.42/plaqui.git] / Server / src / receiver.cpp
index 22cc1a89d5a03a4b4bd5f524fd80efe7baf4a012..9133f85d4ed000bc1ab7e4d110861c8cd2aa363f 100644 (file)
@@ -55,12 +55,11 @@ Receiver::Receiver(const Connection::Port& port, const string& host)
                << ": port = " << port
                << " | host = " << host << endl;
 #endif // DEBUG
                << ": port = " << port
                << " | host = " << host << endl;
 #endif // DEBUG
-       //socket->bind(port);
        socket->bind(host.c_str(), port);
 }
 
 // XXX EL XML DEBE EMPEZAR Y FINALIZAR EN UNA LINEA SEPARADA.
        socket->bind(host.c_str(), port);
 }
 
 // XXX EL XML DEBE EMPEZAR Y FINALIZAR EN UNA LINEA SEPARADA.
-void Receiver::real_run(void) {
+void Receiver::real_run(void) throw() {
 #ifdef DEBUG
        cerr << __FILE__ << "(" << __LINE__ << ")"
                << ": real_run." << endl;
 #ifdef DEBUG
        cerr << __FILE__ << "(" << __LINE__ << ")"
                << ": real_run." << endl;
@@ -68,13 +67,13 @@ void Receiver::real_run(void) {
        char buf[BUFSIZ];
        bool in_frame = false;
        stringstream ss;
        char buf[BUFSIZ];
        bool in_frame = false;
        stringstream ss;
-       while (!stop) {
+       while (!stop()) {
                try {
                        if (!socket.getline(buf, BUFSIZ)) {
                                return; // Se terminó la transmision.
                        }
                } catch (const sockerr& e) {
                try {
                        if (!socket.getline(buf, BUFSIZ)) {
                                return; // Se terminó la transmision.
                        }
                } catch (const sockerr& e) {
-                       error(e.serrno(), e.errstr());
+                       signal_error().emit(e.serrno(), e.errstr());
                        return;
                }
                string sbuf = buf;
                        return;
                }
                string sbuf = buf;