| 381 | } |
| 382 | |
| 383 | int NS_MICRO_THREAD::mt_multi_sendrcv_ex(IMtActList& req_list, int timeout) |
| 384 | { |
| 385 | utime64_t start_ms = MtFrame::Instance()->GetLastClock(); |
| 386 | utime64_t curr_ms = 0; |
| 387 | |
| 388 | int rc = mt_multi_newsock(req_list); |
| 389 | if (rc < 0) |
| 390 | { |
| 391 | MT_ATTR_API(320842, 1); |
| 392 | MTLOG_ERROR("mt_multi_sendrcv new sock failed, ret: %d", rc); |
| 393 | return -1; |
| 394 | } |
| 395 | |
| 396 | rc = mt_multi_open(req_list, timeout); |
| 397 | if (rc < 0) |
| 398 | { |
| 399 | MT_ATTR_API(320843, 1); |
| 400 | MTLOG_ERROR("mt_multi_sendrcv open failed, ret: %d", rc); |
| 401 | return -2; |
| 402 | } |
| 403 | |
| 404 | curr_ms = MtFrame::Instance()->GetLastClock(); |
| 405 | rc = mt_multi_sendto(req_list, timeout - (curr_ms - start_ms)); |
| 406 | if (rc < 0) |
| 407 | { |
| 408 | MT_ATTR_API(320844, 1); |
| 409 | MTLOG_ERROR("mt_multi_sendrcv send failed, ret: %d", rc); |
| 410 | return -3; |
| 411 | } |
| 412 | |
| 413 | curr_ms = MtFrame::Instance()->GetLastClock(); |
| 414 | rc = mt_multi_recvfrom(req_list, timeout - (curr_ms - start_ms)); |
| 415 | if (rc < 0) |
| 416 | { |
| 417 | MT_ATTR_API(320845, 1); |
| 418 | MTLOG_ERROR("mt_multi_sendrcv recv failed, ret: %d", rc); |
| 419 | return -4; |
| 420 | } |
| 421 | |
| 422 | return 0; |
| 423 | } |
| 424 | |
| 425 | int NS_MICRO_THREAD::mt_msg_sendrcv(IMtActList& req_list, int timeout) |
| 426 | { |
nothing calls this directly
no test coverage detected