#endif // DEBUG
}
-/// \todo debría dar una excepción (?)
-void Transmitter::real_run(void) {
+void Transmitter::real_run(void) throw() {
#ifdef DEBUG
cerr << __FILE__ << "(" << __LINE__ << ")"
<< ": real_run()." << endl;
#endif // DEBUG
// No hace nada, porque solo actua cuando se manda algo con send().
- while (!stop) {
+ while (!stop()) {
Glib::usleep(500000); // 1/2 segundo
}
}
void Transmitter::send(const string& data) {
#ifdef DEBUG
- cerr << __FILE__ << "(" << __LINE__ << ")"
- << ": send(data = " << data << ")." << endl;
+ cerr << __FILE__ << "(" << __LINE__ << ")"
+ << ": send()." << endl;
+// << ": send(data = " << data << ")." << endl;
#endif // DEBUG
- if (stop) {
+ if (stop()) {
return;
}
try {
socket << data << flush;
} catch (const sockerr& e) {
- error(e.serrno(), e.errstr());
- stop = true;
+ signal_error().emit(e.serrno(), e.errstr());
+ stop(true);
}
}