The fix syncs up the new threads to have the same task_state and task_team as the old threads. The master thread is skipped, because it shouldn't at this point have the team's task_team value yet -- it should still have parent_team's task_team. It gets pointed at the new team's task_team later, after __kmp_allocate_team returns, and the master has stored a memo of it's old task_state.
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
See comment in code.
runtime/src/kmp_runtime.c | ||
---|---|---|
5065 | This has a bug that was fixed later. Just take the two lines from the loop below, and add them to the loop above, after the call to __kmp_initialize_info. Then the comment and (now empty) loop below can be removed. |
Comment Actions
Committed revision 237916.
I forgot to mention the Differential Revision in commit message.
This has a bug that was fixed later. Just take the two lines from the loop below, and add them to the loop above, after the call to __kmp_initialize_info. Then the comment and (now empty) loop below can be removed.