#define opened_socket() //dout(20) << "opened_socket " << ++sockopen << dendl;
-#ifdef DARWIN
-sig_t old_sigint_handler = 0;
-#else
-sighandler_t old_sigint_handler = 0;
-#endif
/********************************************
* Accepter
}
rank->lock.Unlock();
} else {
- dout(0) << "accepter no incoming connection? sd = " << sd << " errno " << errno << " " << strerror_r(errno, buf, sizeof(buf)) << dendl;
+ dout(0) << "accepter no incoming connection? sd = " << sd
+ << " errno " << errno << " " << strerror_r(errno, buf, sizeof(buf)) << dendl;
if (++errors > 4)
break;
}
void SimpleMessenger::Pipe::stop()
{
dout(10) << "stop" << dendl;
+ assert(lock.is_locked());
state = STATE_CLOSED;
cond.Signal();
if (sd >= 0) {
derr(0) << "reader got bad seq " << m->get_seq() << " expected " << in_seq
<< " for " << *m << " from " << m->get_source() << dendl;
assert(in_seq == m->get_seq()); // for now!
- fault(false, true);
delete m;
+ fault(false, true);
continue;
}
{
const entity_addr_t dest_addr = dest.addr;
entity_addr_t dest_proc_addr = dest_addr;
+
lock.Lock();
{
// local?
if (num_local == 0) {
dout(10) << "wait: everything stopped" << dendl;
break; // everything stopped.
- } else {
- dout(10) << "wait: local still has " << local.size() << " items, waiting" << dendl;
}
-
+
+ dout(10) << "wait: local still has " << local.size() << " items, waiting" << dendl;
wait_cond.Wait(lock);
}
lock.Unlock();