MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / signalFd

Method signalFd

source/kernel/kprocess.cpp:2769–2784  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2767}
2768
2769void KProcess::signalFd(KThread* thread, U32 signal) {
2770 BOXEDWINE_CRITICAL_SECTION_WITH_MUTEX(fdsMutex);
2771 for (auto& n : this->fds) {
2772 KFileDescriptorPtr fd = n.value;
2773 if (fd->kobject->type == KTYPE_SIGNAL) {
2774 std::shared_ptr<KSignal> p = std::dynamic_pointer_cast<KSignal>(fd->kobject);
2775 if ((p->mask & signal) && (!thread || thread->waitingCond == p->lockCond)) {
2776 BOXEDWINE_CRITICAL_SECTION_WITH_CONDITION(p->lockCond);
2777 p->sigAction = this->sigActions[signal];
2778 p->signalingPid = this->id;
2779 p->signalingUid = this->userId;
2780 BOXEDWINE_CONDITION_SIGNAL(p->lockCond);
2781 }
2782 }
2783 }
2784}
2785
2786MappedFilePtr KProcess::getMappedFile(U32 key) {
2787 BOXEDWINE_CRITICAL_SECTION_WITH_MUTEX(mappedFilesMutex);

Callers 3

signalProcessMethod · 0.95
signalMethod · 0.95
kthread.cppFile · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected