| 467 | } |
| 468 | |
| 469 | int KqueuerObj::OutputNotify() |
| 470 | { |
| 471 | MicroThread* thread = this->GetOwnerThread(); |
| 472 | if (NULL == thread) |
| 473 | { |
| 474 | kqueue_assert(0); |
| 475 | MTLOG_ERROR("kqueue fd obj, no thread ptr, wrong"); |
| 476 | return -1; |
| 477 | } |
| 478 | |
| 479 | // Multiple events arrive at the same time |
| 480 | if (thread->HasFlag(MicroThread::IO_LIST)) |
| 481 | { |
| 482 | MtFrame* frame = MtFrame::Instance(); |
| 483 | frame->RemoveIoWait(thread); |
| 484 | frame->InsertRunable(thread); |
| 485 | } |
| 486 | |
| 487 | return 0; |
| 488 | } |
| 489 | |
| 490 | int KqueuerObj::HangupNotify() |
| 491 | { |
no test coverage detected