Post

Replies

Boosts

Views

Activity

Extreme Slow Launch of macOS applications on Big Sur
Hi, recently I've upgraded to Big Sur and when I try to launch a simple hello world application on Xcode 11 it takes too long to start debugging. I also tried Xcode 10 but it is worse ( it crashes during launch ) And happily I found the solution to my case by trying diagnostic and options on Xcode 11 ( I coundn't fix on Xcode 10 ). The problem solved when I deselect "View Debugging ( Enable User Interface Debugging)". It is in the run options tab when you click edit scheme menu. And one more thing. In my case iOS applications does not seems to be affected by slow launch problem only macOs applications affected ( both objective C and C/C++ ) Some symptoms : High cpu usage by lldb-rpc-server and debugserver.
2
1
1.8k
Nov ’20
Missing API function in DriverKit for canceling timer event source
Hi, I'm working on a project that requires porting my KEXT driver to DriverKit system extension ( DEXT ). I've managed to re-write most of functions using DriverKit but I couldn't found a function for cancelling a scheduled timer. What I try to make is waiting for an interrupt with a timeout period. And if the interrupt arrives in certain time period I need to cancel timeout timer and send async response to the user app. I'm also open to the suggestions. Here is the code fragment for IOKit that I need to convert to DriverKit // ... initialization code fragment ( error handling parts deleted ) m_timeout_timer = IOTimerEventSource::timerEventSource(this, timer_fired_pc_recv); IOReturn result = m_workLoop->addEventSource(timer); // ... starting the timeout counter m_timeout_timer->setTimeoutMS(timeout_in_ms); // ... some time later (cancel part) m_timeout_timer->cancelTimeout(); And equivalent code in DriverKit // ... initialization code fragment ( error handling parts deleted ) ret = IOTimerDispatchSource::Create(ivars->default_dispatch_queue, &ivars->timer_dispatchSource); // starting timer timer_dispatchSource->WakeAtTime(kIOTimerClockMonotonicRaw, currentTime + fiveSecondsInNanoSeconds, twoSecondsInNanoSeconds); // missing part here I did see the member method Cancel in IOTimerDispatchSource but it is kind of termination to the lifetime of IOTimerDispatchSource
0
0
546
Oct ’23