Changes in / [7dc2e015:3d5701e]


Ignore:
Location:
tests/concurrent/park
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tests/concurrent/park/.expect/force_preempt.txt

    r7dc2e015 r3d5701e  
     10 Calling unpark 0
     21 Calling unpark 0
     32 Calling unpark 0
     43 Calling unpark 0
     54 Calling unpark 0
     60 Parking 0
     70 Unparked 0
     80 Calling unpark 1
     91 Parking 0
     101 Unparked 0
     111 Calling unpark 1
     122 Parking 0
     132 Unparked 0
     142 Calling unpark 1
     153 Parking 0
     163 Unparked 0
     173 Calling unpark 1
     184 Parking 0
     194 Unparked 0
     204 Calling unpark 1
     210 Parking 1
     220 Unparked 1
     230 Calling unpark 2
     241 Parking 1
     251 Unparked 1
     261 Calling unpark 2
     272 Parking 1
     282 Unparked 1
     292 Calling unpark 2
     303 Parking 1
     313 Unparked 1
     323 Calling unpark 2
     334 Parking 1
     344 Unparked 1
     354 Calling unpark 2
     360 Parking 2
     370 Unparked 2
     380 Calling unpark 3
     391 Parking 2
     401 Unparked 2
     411 Calling unpark 3
     422 Parking 2
     432 Unparked 2
     442 Calling unpark 3
     453 Parking 2
     463 Unparked 2
     473 Calling unpark 3
     484 Parking 2
     494 Unparked 2
     504 Calling unpark 3
     510 Parking 3
     520 Unparked 3
     530 Calling unpark 4
     541 Parking 3
     551 Unparked 3
     561 Calling unpark 4
     572 Parking 3
     582 Unparked 3
     592 Calling unpark 4
     603 Parking 3
     613 Unparked 3
     623 Calling unpark 4
     634 Parking 3
     644 Unparked 3
     654 Calling unpark 4
     660 Parking 4
     670 Unparked 4
     681 Parking 4
     691 Unparked 4
     702 Parking 4
     712 Unparked 4
     723 Parking 4
     733 Unparked 4
     744 Parking 4
     754 Unparked 4
  • tests/concurrent/park/force_preempt.cfa

    r7dc2e015 r3d5701e  
    1616}
    1717
     18thread Waiter;
    1819thread Waiter {};
     20
    1921
    2022volatile int count = 0;
     
    2325        // Get a unique id
    2426        int id = __atomic_fetch_add(&count, 1, __ATOMIC_SEQ_CST);
    25         int id_hash = id | (id << 8) | (id << 16) | (id << 24);
    26         int mask = 0xCAFEBABA;
    2727
    2828        for(int i = 0; i < 5; i++) {
    29                 assert(mask == 0xCAFEBABA);
    30 
    3129                // Unpark this thread, don't force a yield
     30                sout | id | "Calling unpark" | i;
    3231                unpark(this);
    33                 assert(mask == 0xCAFEBABA);
    34 
    35                 // Hash the mask to make sure no one else messes with them
    36                 mask ^= id_hash;
    37                 assert(mask == (id_hash ^ 0xCAFEBABA));
    3832
    3933                // Force a preemption before the call to park
     
    4236
    4337                // Park this thread,
    44                 assert(mask == (id_hash ^ 0xCAFEBABA));
     38                sout | id | "Parking" | i;
    4539                park();
    46                 assert(mask == (id_hash ^ 0xCAFEBABA));
    47 
    48                 // Reset the hash and recheck it
    49                 mask ^= id_hash;
    50                 assert(mask == 0xCAFEBABA);
     40                sout | id | "Unparked" | i;
    5141        }
    5242}
Note: See TracChangeset for help on using the changeset viewer.