Changeset 0d56712 in mainline for kernel/test/synch/workq-test-core.h
- Timestamp:
- 2012-07-07T00:27:01Z (11 years ago)
- Branches:
- lfn, master, serial
- Children:
- ff90f5f
- Parents:
- 8a64e81e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/test/synch/workq-test-core.h
r8a64e81e r0d56712 82 82 } 83 83 84 static void free_work(test_work_t *work) 85 { 86 memsetb(work, sizeof(test_work_t), 0xfa); 87 free(work); 88 } 89 84 90 static void reproduce(work_t *work_item) 85 91 { … … 112 118 if (child) { 113 119 if (!core_workq_enqueue(&child->work_item, reproduce)) 114 free (child);120 free_work(child); 115 121 } 116 122 } 117 123 118 124 if (!core_workq_enqueue(work_item, reproduce)) { 119 if (!work->master) { 120 free(work); 121 } 125 if (work->master) 126 TPRINTF("\nErr: Master work item exiting prematurely!\n"); 127 128 free_work(work); 122 129 } 123 130 } else { … … 125 132 126 133 if (work->master && new_wave(work)) { 127 core_workq_enqueue(work_item, reproduce); 134 if (!core_workq_enqueue(work_item, reproduce)) { 135 TPRINTF("\nErr: Master work could not start a new wave!\n"); 136 free_work(work); 137 } 128 138 } else { 129 139 if (work->master) 130 TPRINTF("\nMaster work item done !\n");140 TPRINTF("\nMaster work item done.\n"); 131 141 132 memsetb(work, sizeof(test_work_t), 0xfa); 133 free(work); 142 free_work(work); 134 143 } 135 144 } … … 180 189 181 190 for (int i = 0; i < WAVES; ++i) { 182 if (atomic_get(&call_cnt[i]) != exp_call_cnt) { 191 if (atomic_get(&call_cnt[i]) == exp_call_cnt) { 192 TPRINTF("Ok: %u calls in wave %d, as expected.\n", 193 atomic_get(&call_cnt[i]), i); 194 } else { 183 195 success = false; 184 196 TPRINTF("Error: %u calls in wave %d, but %zu expected.\n", 185 197 atomic_get(&call_cnt[i]), i, exp_call_cnt); 186 } 198 } 187 199 } 188 200
Note: See TracChangeset
for help on using the changeset viewer.