Fetching latest commit…
Cannot retrieve the latest commit at this time
What's here: runtime support for tame programs that have been preprocesses with the tame preprocessor. Tame Core: - tame_closure.h, closure.C: code for managing the closures that tame creates - tame_event.h, event.C: internals for what's in an event, how they are cancelled and how they are triggered. - leak.C: runtime leak-checking and error-reporting - mkevent.C, mkevent.pl: templated routines for creating new events, either with implicit or explicit rendezous. mkevent.pl generates tame_event_ag.h, which has the templated event creation routines for multiple trigger and/or wait values. - tame.h: wrapper header that includes lots of other headers - tame_slotset.h: A slotset is a simple data structure that stores slots, into which trigger values are assigned after a trigger occurs. - tame_weakref.h: there are weakrefs between events and rendezvous, implemented here. - tame_rendezvous.h: runtime support for explicit rendezvous, and actions based on rejoining them. - tame_recycle.h, recycle.C: objects in tame can be recycled for performance, especially the shared "flag" field in weakreferences; this file implements recycling. - tame_run.h, run.C, init.C: runtime initialization and error checking routines for tame. - tame_thread.h, thread.C: runtime support for threading (via the PTH library). - tame_tfork.h, mktfork_ag.pl, tfork.C: support for the tfork-style of launching new threads from within Tame. - tame_event_green.h, event_green.C: experimental support for recyclable (i.e., "green") events, that doesn't make performance much faster on Linux and therefore might be phased out eventually. Tame Library: the rest of the files in this directory are all part of the Tame Library -- nonessentials that are useful in writing applications. All libraries are in the tame:: namespace (except for connectors) and most are written with tame translations. - tame_aio.h, aio.T: wrappers around sfs's AIOD-style I/O - tame_io.h, io.T: wrappers around standard C library I/O in a way that's tame-friendly. - tame_lock.h, lock.T: simple tame locks - tame_nlock.Th: named locking for tame (store multiple locks in a hash table, hashed by a templated key type). - tame_autocb.h: convenience; fire an event as it goes out of scope. - tame_connectors.Th: connectors for easy handling of timeouts and other cancellation events. - tame_trigger.h, trigger.C: utilities for triggering triggers, just from the event loop as opposed to the current call frame. - tame_pipeline.h, pipeline.C: a library that implementat generic pipelined (i.e., windowed) commands. - tame_pc.h: Producer/consumer Q, with only 1 slot. - tame_typedefs.h: some common typedefs for Tame programs.