| 2134 | } |
| 2135 | |
| 2136 | U32 KProcess::epollwait(KThread* thread, FD epfd, U32 events, U32 maxevents, U32 timeout) { |
| 2137 | KFileDescriptorPtr epollFD = this->getFileDescriptor(epfd); |
| 2138 | if (!epollFD) { |
| 2139 | return -K_EBADF; |
| 2140 | } |
| 2141 | if (epollFD->kobject->type != KTYPE_EPOLL) { |
| 2142 | return -K_EINVAL; |
| 2143 | } |
| 2144 | std::shared_ptr<KEPoll> p = std::dynamic_pointer_cast<KEPoll>(epollFD->kobject); |
| 2145 | return p->wait(thread, events, maxevents, timeout); |
| 2146 | } |
| 2147 | |
| 2148 | U32 KProcess::utimes(BString path, U32 times) { |
| 2149 | std::shared_ptr<FsNode> node = Fs::getNodeFromLocalPath(this->currentDirectory, path, true); |
no test coverage detected