Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/tests/sched-int-wait.c

    r4cedd9f r6c7b1e7  
    4141//----------------------------------------------------------------------------------------------------
    4242// Tools
    43 void signal( condition & cond, global_t & mutex a, global_t & mutex b ) {
     43void signal( condition * cond, global_t & mutex a, global_t & mutex b ) {
    4444        signal( cond );
    4545}
    4646
    47 void signal( condition & cond, global_t & mutex a, global_t & mutex b, global_t & mutex c ) {
     47void signal( condition * cond, global_t & mutex a, global_t & mutex b, global_t & mutex c ) {
    4848        signal( cond );
    4949}
    5050
    51 void wait( condition & cond, global_t & mutex a, global_t & mutex b ) {
     51void wait( condition * cond, global_t & mutex a, global_t & mutex b ) {
    5252        wait( cond );
    5353}
    5454
    55 void wait( condition & cond, global_t & mutex a, global_t & mutex b, global_t & mutex c ) {
     55void wait( condition * cond, global_t & mutex a, global_t & mutex b, global_t & mutex c ) {
    5656        wait( cond );
    5757}
     
    6262
    6363        while( waiter_left != 0 ) {
    64                 unsigned action = rand48(4);
     64            unsigned action = random( 4 );
    6565                switch( action ) {
    6666                        case 0:
    67                                 signal( condABC, globalA, globalB, globalC );
     67                                signal( &condABC, globalA, globalB, globalC );
    6868                                break;
    6969                        case 1:
    70                                 signal( condAB , globalA, globalB );
     70                                signal( &condAB , globalA, globalB );
    7171                                break;
    7272                        case 2:
    73                                 signal( condBC , globalB, globalC );
     73                                signal( &condBC , globalB, globalC );
    7474                                break;
    7575                        case 3:
    76                                 signal( condAC , globalA, globalC );
     76                                signal( &condAC , globalA, globalC );
    7777                                break;
    7878                        default:
     
    8888void main( WaiterABC & this ) {
    8989        for( int i = 0; i < N; i++ ) {
    90                 wait( condABC, globalA, globalB, globalC );
     90                wait( &condABC, globalA, globalB, globalC );
    9191        }
    9292
     
    9898void main( WaiterAB & this ) {
    9999        for( int i = 0; i < N; i++ ) {
    100                 wait( condAB , globalA, globalB );
     100                wait( &condAB , globalA, globalB );
    101101        }
    102102
     
    108108void main( WaiterAC & this ) {
    109109        for( int i = 0; i < N; i++ ) {
    110                 wait( condAC , globalA, globalC );
     110                wait( &condAC , globalA, globalC );
    111111        }
    112112
     
    118118void main( WaiterBC & this ) {
    119119        for( int i = 0; i < N; i++ ) {
    120                 wait( condBC , globalB, globalC );
     120                wait( &condBC , globalB, globalC );
    121121        }
    122122
     
    127127// Main
    128128int main(int argc, char* argv[]) {
    129         rand48seed( time( NULL ) );
     129        random_seed( time( NULL ) );
    130130        waiter_left = 4;
    131131        processor p[2];
Note: See TracChangeset for help on using the changeset viewer.