Changes in / [0453261:b5143bd] in mainline


Ignore:
Location:
uspace/lib/c
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/fibril.c

    r0453261 rb5143bd  
    5757/**
    5858 * This futex serializes access to ready_list,
    59  * serialized_list, manager_list and fibril_list.
     59 * serialized_list and manager_list.
    6060 */
    6161static futex_t fibril_futex = FUTEX_INITIALIZER;
     
    126126       
    127127        fibril->waits_for = NULL;
    128 
    129         futex_lock(&fibril_futex);
    130128        list_append(&fibril->all_link, &fibril_list);
    131         futex_unlock(&fibril_futex);
    132129       
    133130        return fibril;
    134131}
    135132
    136 void fibril_teardown(fibril_t *fibril, bool locked)
    137 {       
    138         if (!locked)
    139                 futex_lock(&fibril_futex);
     133void fibril_teardown(fibril_t *fibril)
     134{
    140135        list_remove(&fibril->all_link);
    141         if (!locked)
    142                 futex_unlock(&fibril_futex);
    143136        tls_free(fibril->tcb);
    144137        free(fibril);
     
    215208                                        as_area_destroy(stack);
    216209                                }
    217                                 fibril_teardown(srcf->clean_after_me, true);
     210                                fibril_teardown(srcf->clean_after_me);
    218211                                srcf->clean_after_me = NULL;
    219212                        }
     
    301294            AS_AREA_LATE_RESERVE);
    302295        if (fibril->stack == (void *) -1) {
    303                 fibril_teardown(fibril, false);
     296                fibril_teardown(fibril);
    304297                return 0;
    305298        }
     
    328321       
    329322        as_area_destroy(fibril->stack);
    330         fibril_teardown(fibril, false);
     323        fibril_teardown(fibril);
    331324}
    332325
  • uspace/lib/c/generic/libc.c

    r0453261 rb5143bd  
    122122                __stdio_done();
    123123                task_retval(status);
    124                 fibril_teardown(__tcb_get()->fibril_data, false);
     124                fibril_teardown(__tcb_get()->fibril_data);
    125125        }
    126126       
  • uspace/lib/c/generic/thread.c

    r0453261 rb5143bd  
    8888#endif
    8989       
    90         fibril_teardown(fibril, false);
     90        fibril_teardown(fibril);
    9191       
    9292        thread_exit(0);
  • uspace/lib/c/include/fibril.h

    r0453261 rb5143bd  
    9494extern void fibril_destroy(fid_t fid);
    9595extern fibril_t *fibril_setup(void);
    96 extern void fibril_teardown(fibril_t *f, bool locked);
     96extern void fibril_teardown(fibril_t *f);
    9797extern int fibril_switch(fibril_switch_type_t stype);
    9898extern void fibril_add_ready(fid_t fid);
Note: See TracChangeset for help on using the changeset viewer.