when testing with dpdk,there is an error log "Event (0xaaaaff889288
nevent = 5000 time_id = 21540). delete_time_event id = 21471 not found",
raised in EventCenter::delete_time_event. In EventCenter::process_time_events,
the fd in event_map is deleted, but fd is not destroyed, and then fd will
not found in delete_time_event. Destroy fd in do_request to ensure
that fd is zero, and then delete_time_event (fd) will not be called.
Signed-off-by: Chunsong Feng <fengchunsong@huawei.com>
Signed-off-by: luo rixin <luorixin@huawei.com>
public:
C_handle_delayed_ack(tcb *t): tc(t) { }
void do_request(uint64_t r) {
+ tc->_delayed_ack_fd.destroy();
tc->_nr_full_seg_received = 0;
tc->output();
}
public:
C_handle_retransmit(tcb *t): tc(t) { }
void do_request(uint64_t r) {
+ tc->retransmit_fd.destroy();
tc->retransmit();
}
};
public:
C_handle_persist(tcb *t): tc(t) { }
void do_request(uint64_t r) {
+ tc->persist_fd.destroy();
tc->persist();
}
};