Changeset d73d992 in mainline for uspace/lib/c/generic/fibril.c
- Timestamp:
- 2018-06-25T20:10:06Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3679f51a
- Parents:
- 0a0dff8
- git-author:
- Jiří Zárevúcky <jiri.zarevucky@…> (2018-06-25 18:56:55)
- git-committer:
- Jiří Zárevúcky <jiri.zarevucky@…> (2018-06-25 20:10:06)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/fibril.c
r0a0dff8 rd73d992 49 49 #include <async.h> 50 50 51 #include "private/fibril.h" 52 51 53 #ifdef FUTEX_UPGRADABLE 52 54 #include <rcu.h> … … 75 77 futex_unlock(&fibril_futex); 76 78 77 fibril_t *fibril = __tcb_get()->fibril_data;79 fibril_t *fibril = fibril_self(); 78 80 79 81 #ifdef FUTEX_UPGRADABLE … … 98 100 return NULL; 99 101 100 fibril_t *fibril = malloc(sizeof(fibril_t));102 fibril_t *fibril = calloc(1, sizeof(fibril_t)); 101 103 if (!fibril) { 102 104 tls_free(tcb); … … 106 108 tcb->fibril_data = fibril; 107 109 fibril->tcb = tcb; 108 109 fibril->func = NULL;110 fibril->arg = NULL;111 fibril->stack = NULL;112 fibril->clean_after_me = NULL;113 fibril->retval = 0;114 fibril->flags = 0;115 116 fibril->waits_for = NULL;117 110 118 111 /* … … 156 149 futex_lock(&fibril_futex); 157 150 158 fibril_t *srcf = __tcb_get()->fibril_data;151 fibril_t *srcf = fibril_self(); 159 152 fibril_t *dstf = NULL; 160 153 … … 345 338 } 346 339 340 fibril_t *fibril_self(void) 341 { 342 return __tcb_get()->fibril_data; 343 } 344 347 345 /** Return fibril id of the currently running fibril. 348 346 * … … 352 350 fid_t fibril_get_id(void) 353 351 { 354 return (fid_t) __tcb_get()->fibril_data; 352 return (fid_t) fibril_self(); 353 } 354 355 void fibril_yield(void) 356 { 357 fibril_switch(FIBRIL_PREEMPT); 355 358 } 356 359
Note:
See TracChangeset
for help on using the changeset viewer.