source:
src/tests/preempt_longrun/enter.c
@
d6ff3ff
Last change on this file since d6ff3ff was 0322865c, checked in by , 5 years ago | |
---|---|
|
|
File size: 551 bytes |
Rev | Line | |
---|---|---|
[8ee5028] | 1 | #include <kernel> |
2 | #include <monitor> | |
3 | #include <thread> | |
4 | ||
5 | #undef N | |
[f3c1737] | 6 | static const unsigned long N = 70_000ul; |
[8ee5028] | 7 | |
8 | #ifndef PREEMPTION_RATE | |
9 | #define PREEMPTION_RATE 10_000ul | |
10 | #endif | |
11 | ||
12 | unsigned int default_preemption() { | |
13 | return PREEMPTION_RATE; | |
14 | } | |
15 | ||
16 | monitor mon_t {}; | |
17 | ||
18 | mon_t mon; | |
19 | ||
20 | void foo( mon_t * mutex this ) {} | |
21 | ||
22 | thread worker_t {}; | |
23 | ||
24 | void main( worker_t * this ) { | |
25 | for( unsigned long i = 0; i < N; i++ ) { | |
26 | foo( &mon ); | |
27 | } | |
28 | } | |
29 | ||
[0322865c] | 30 | extern "C" { |
31 | static worker_t * workers; | |
32 | } | |
33 | ||
[8ee5028] | 34 | int main(int argc, char * argv[] ) { |
35 | processor p; | |
36 | { | |
37 | worker_t w[7]; | |
[0322865c] | 38 | workers = w; |
[8ee5028] | 39 | } |
40 | } |
Note: See TracBrowser
for help on using the repository browser.