source: src/tests/preempt_longrun/yield.c @ d411426d

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since d411426d was cd99ef1, checked in by Thierry Delisle <tdelisle@…>, 7 years ago

Clean-up longrunning tests to be more consistent

  • Property mode set to 100644
File size: 437 bytes
RevLine 
[cc3e4d0]1#include <kernel>
2#include <thread>
3
[cd99ef1]4static const unsigned long N = 325_000ul;
5
[cc3e4d0]6#ifndef PREEMPTION_RATE
7#define PREEMPTION_RATE 10_000ul
8#endif
9
10unsigned int default_preemption() {
11        return PREEMPTION_RATE;
12}
13
[0322865c]14thread worker_t {};
[cc3e4d0]15
[0322865c]16void main(worker_t * this) {
[cd99ef1]17        for(int i = 0; i < N; i++) {
[cc3e4d0]18                yield();
19        }
20}
21
[0322865c]22extern "C" {
23static worker_t * workers;
24}
25
[cc3e4d0]26int main(int argc, char* argv[]) {
27        processor p;
28        {
[0322865c]29                worker_t w[7];
30                workers = w;
[cc3e4d0]31        }
32}
Note: See TracBrowser for help on using the repository browser.