Changes in uspace/lib/c/generic/fibril.c [2654afb:6aeca0d] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/fibril.c
r2654afb r6aeca0d 49 49 #include <assert.h> 50 50 #include <async.h> 51 #include <futex.h>52 51 53 52 #ifdef FUTEX_UPGRADABLE … … 115 114 fibril->waits_for = NULL; 116 115 117 futex_lock(&fibril_futex); 116 fibril->switches = 0; 117 118 /* 119 * We are called before __tcb_set(), so we need to use 120 * futex_down/up() instead of futex_lock/unlock() that 121 * may attempt to access TLS. 122 */ 123 futex_down(&fibril_futex); 118 124 list_append(&fibril->all_link, &fibril_list); 119 futex_u nlock(&fibril_futex);125 futex_up(&fibril_futex); 120 126 121 127 return fibril; … … 212 218 assert(stype == FIBRIL_TO_MANAGER); 213 219 220 srcf->switches++; 221 214 222 /* 215 223 * Don't put the current fibril into any list, it should … … 271 279 size_t stack_size = (stksz == FIBRIL_DFLT_STK_SIZE) ? 272 280 stack_size_get() : stksz; 273 fibril->stack = as_area_create( (void *) -1, stack_size,281 fibril->stack = as_area_create(AS_AREA_ANY, stack_size, 274 282 AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE | AS_AREA_GUARD | 275 AS_AREA_LATE_RESERVE );283 AS_AREA_LATE_RESERVE, AS_AREA_UNPAGED); 276 284 if (fibril->stack == (void *) -1) { 277 285 fibril_teardown(fibril, false);
Note:
See TracChangeset
for help on using the changeset viewer.