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

Method setTimes

source/kernel/ktimer.cpp:175–193  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

173}
174
175void KTimer::setTimes(U64 microInterval, U64 microNextTimer) {
176 BOXEDWINE_CRITICAL_SECTION_WITH_CONDITION(waitCond);
177 this->microInterval = microInterval;
178 this->microNextTimer = microNextTimer;
179 removeTimer(&timer);
180 U64 now = KSystem::getSystemTimeAsMicroSeconds();
181 S64 diff = microNextTimer - now;
182 if (diff < 0) {
183 numberOfExpirations++;
184 if (microInterval) {
185 microNextTimer = now + microInterval;
186 timer.millies = (U32)(microInterval / 1000) + KSystem::getMilliesSinceStart();
187 addTimer(&timer);
188 }
189 } else {
190 timer.millies = (U32)(diff / 1000) + KSystem::getMilliesSinceStart();
191 addTimer(&timer);
192 }
193}

Callers 4

utimesMethod · 0.45
utimesatMethod · 0.45
utimesat64Method · 0.45
timerfd_settimeMethod · 0.45

Calls 2

removeTimerFunction · 0.85
addTimerFunction · 0.85

Tested by

no test coverage detected