diff --git a/src/kernel/Communicator.cc b/src/kernel/Communicator.cc index bd4bb1e2..9b01c835 100644 --- a/src/kernel/Communicator.cc +++ b/src/kernel/Communicator.cc @@ -1725,7 +1725,7 @@ void Communicator::unbind(CommService *service) } } -int Communicator::reply_idle_conn(CommSession *session, CommTarget *target) +int Communicator::reply_reliable(CommSession *session, CommTarget *target) { struct CommConnEntry *entry; struct list_head *pos; @@ -1833,7 +1833,7 @@ int Communicator::reply(CommSession *session) session->passive = 2; target = (CommServiceTarget *)session->target; if (target->service->reliable) - ret = this->reply_idle_conn(session, target); + ret = this->reply_reliable(session, target); else ret = this->reply_unreliable(session, target); @@ -1844,7 +1844,7 @@ int Communicator::reply(CommSession *session) if (__sync_sub_and_fetch(&entry->ref, 1) == 0) { __release_conn(entry); - ((CommServiceTarget *)target)->decref(); + target->decref(); } } else if (ret < 0) diff --git a/src/kernel/Communicator.h b/src/kernel/Communicator.h index 337ef5ea..0f1775bd 100644 --- a/src/kernel/Communicator.h +++ b/src/kernel/Communicator.h @@ -283,12 +283,11 @@ private: int send_message(struct CommConnEntry *entry); int request_new_conn(CommSession *session, CommTarget *target); - int request_idle_conn(CommSession *session, CommTarget *target); - int reply_idle_conn(CommSession *session, CommTarget *target); int reply_message_unreliable(struct CommConnEntry *entry); + int reply_reliable(CommSession *session, CommTarget *target); int reply_unreliable(CommSession *session, CommTarget *target); void handle_incoming_request(struct poller_result *res);