call set_read_event in func sf_nio_deal_task

support_rdma
YuQing 2023-10-25 10:02:47 +08:00
parent db00a7add8
commit 89a451b8ce
1 changed files with 9 additions and 4 deletions

View File

@ -139,7 +139,7 @@ static inline int set_write_event(struct fast_task_info *task)
return 0; return 0;
} }
int sf_set_read_event(struct fast_task_info *task) static inline int set_read_event(struct fast_task_info *task)
{ {
int result; int result;
@ -165,6 +165,13 @@ int sf_set_read_event(struct fast_task_info *task)
return 0; return 0;
} }
int sf_set_read_event(struct fast_task_info *task)
{
task->recv.ptr->offset = 0;
task->recv.ptr->length = 0;
return set_read_event(task);
}
static inline int sf_ioevent_add(struct fast_task_info *task, static inline int sf_ioevent_add(struct fast_task_info *task,
IOEventCallback callback, const int timeout) IOEventCallback callback, const int timeout)
{ {
@ -314,7 +321,7 @@ static int sf_nio_deal_task(struct fast_task_info *task, const int stage)
result = sf_async_connect_server(task); result = sf_async_connect_server(task);
break; break;
case SF_NIO_STAGE_RECV: case SF_NIO_STAGE_RECV:
if ((result=sf_set_read_event(task)) == 0) { if ((result=set_read_event(task)) == 0) {
if (sf_client_sock_read(task->event.fd, if (sf_client_sock_read(task->event.fd,
IOEVENT_READ, task) < 0) IOEVENT_READ, task) < 0)
{ {
@ -1017,8 +1024,6 @@ int sf_client_sock_write(int sock, short event, void *arg)
total_write += bytes; total_write += bytes;
if (action == sf_comm_action_finish) { if (action == sf_comm_action_finish) {
release_iovec_buffer(task); release_iovec_buffer(task);
task->recv.ptr->offset = 0;
task->recv.ptr->length = 0;
if (sf_set_read_event(task) != 0) { if (sf_set_read_event(task) != 0) {
return -1; return -1;
} }