fibril.c File Reference

#include <adt/list.h>
#include <fibril.h>
#include <thread.h>
#include <tls.h>
#include <malloc.h>
#include <unistd.h>
#include <stdio.h>
#include <arch/barrier.h>
#include <libarch/faddr.h>
#include <futex.h>
#include <assert.h>
#include <async.h>

Go to the source code of this file.

Defines

#define FIBRIL_INITIAL_STACK_PAGES_NO   1

Functions

void fibril_add_manager (fid_t fid)
 Add a fibril to the manager list.
void fibril_add_ready (fid_t fid)
 Add a fibril to the ready list.
fid_t fibril_create (int(*func)(void *), void *arg)
 Create a new fibril.
void fibril_dec_sercount (void)
 Restore the preemption counter to the previous state.
fid_t fibril_get_id (void)
 Return fibril id of the currently running fibril.
int fibril_get_sercount (void)
void fibril_inc_sercount (void)
 Disable preemption.
static void fibril_main (void)
 Function that spans the whole life-cycle of a fibril.
void fibril_remove_manager (void)
 Remove one manager from the manager list.
fibril_tfibril_setup (void)
 Setup fibril information into TCB structure.
int fibril_switch (fibril_switch_type_t stype)
 Switch from the current fibril.
void fibril_teardown (fibril_t *fibril)

Variables

static atomic_t fibril_futex = FUTEX_INITIALIZER
 This futex serializes access to ready_list, serialized_list and manager_list.
static fibril_local int serialization_count
 Fibril-local count of serialization.
static int serialized_threads
 Number of threads that are executing a manager fibril and are serialized.
static int threads_in_manager
 Number of threads that are executing a manager fibril.


Detailed Description

Definition in file fibril.c.


Generated on Thu Jun 2 07:45:52 2011 for HelenOS/USB by  doxygen 1.4.7