Changeset 58775d30 in mainline for uspace/lib/c/generic/thread.c
- Timestamp:
- 2015-03-16T16:07:21Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2003739
- Parents:
- 6069061 (diff), 795e2bf (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/thread.c
r6069061 r58775d30 46 46 #include "private/thread.h" 47 47 48 #ifdef FUTEX_UPGRADABLE 49 #include <rcu.h> 50 #endif 51 52 48 53 /** Main thread function. 49 54 * … … 63 68 __tcb_set(fibril->tcb); 64 69 70 #ifdef FUTEX_UPGRADABLE 71 rcu_register_fibril(); 72 futex_upgrade_all_and_wait(); 73 #endif 74 65 75 uarg->uspace_thread_function(uarg->uspace_thread_arg); 66 76 /* … … 73 83 /* If there is a manager, destroy it */ 74 84 async_destroy_manager(); 85 86 #ifdef FUTEX_UPGRADABLE 87 rcu_deregister_fibril(); 88 #endif 89 75 90 fibril_teardown(fibril); 76 91 … … 106 121 return ENOMEM; 107 122 } 123 124 /* Make heap thread safe. */ 125 malloc_enable_multithreaded(); 108 126 109 127 uarg->uspace_entry = (void *) FADDR(__thread_entry);
Note:
See TracChangeset
for help on using the changeset viewer.