Fri Jul  7 02:15:50 2006  Tim Janik  <timj@gtk.org>

	* tests/infotest.cc: implement file tests in terms of the C++ API
	which also checks the C implementation.

	* birnetutilsxx.[hc][hc]: added Path::chek() and Path::equals().

	* birnetutils.c: document birnet_file_equals().

Fri Jul  7 01:51:35 2006  Tim Janik  <timj@gtk.org>

	* birnetutils.[hc]: moved birnet_file_check() and birnet_file_equals() 
	from beast/sfi/ here. fixed socket file type test.

	* tests/infotest.cc: added test for file type checks.

	* tests/Makefile.am:
	* Makefile.am: removed bogus $LIBZ which should be part of $BIRNET_LIBS.

	* configure.inc: check for zlib.h and -lz and provide $LIBZ as part
	of $BIRNET_LIBS

Thu Jul  6 23:43:06 2006  Tim Janik  <timj@gtk.org>

	* birnet-zintern.c: gen_zfile(): add "+ 1" to the dumed data array size
	because g++ refuses to initialize non 0-terminated strings and murns
	about the array size.

Thu Jul  6 23:18:46 2006  Tim Janik  <timj@gtk.org>

	* birnetutils.[hc]: added birnet_zintern_decompress(), based on 
	gxk_zfile_uncompress(). 

	* tests/Makefile.am: link against $LIBZ.

	* tests/infotest.cc: added zintern test.

Thu Jul  6 22:40:58 2006  Tim Janik  <timj@gtk.org>

	* birnet-zintern.c: some fixups and renames.

	* Makefile.am: build birnet-zintern.

	* dummy.cc: dummy C++ file for linking C binaries.

Thu Jul  6 22:25:13 2006  Tim Janik  <timj@gtk.org>

	* birnet-zintern.c: CVS copied from beast/bse/zintern/zintern.c.

Thu Jul  6 22:07:54 2006  Tim Janik  <timj@gtk.org>

	* birnetutilsxx.[hc]*: moved dirname and basename into Path:: namespace.
	added isabs(), skip_root(), join().

	* tests/infotest.cc: test Path:: functions.

Wed Jul  5 01:54:59 2006  Tim Janik  <timj@gtk.org>

	* birnetutils.c (birnet_url_test_show): added logic to restart browser 
	executable checks if none was found to be working. added support for the
	"xdg-open" browser launching script.
	
	* birnetutils.[hc]: moved url opener code and cleanup handler code from
	GXK here. provide:
	birnet_url_show(): show an url, show an error if no browser is present.
	birnet_url_show_with_cookie(): same as birnet_url_show() albeit setting
	a cookie before hand and then redirecting automatically to the actual url.
	birnet_url_test_show(): show an url, return false if no browser is present.
	birnet_url_test_show_with_cookie(): same as birnet_url_show_with_cookie()
	with false return code instead of a warning.
	birnet_cleanup_add(): register a cleanup handler with the default main loop.
	birnet_cleanup_force_handlers(): force cleanup handler execution prematurely.

	* tests/threads.cc: test static C mutex.

	* birnetthread.[hc]: added support for static mutexes in C via:
	static BIRNET_MUTEX_DECLARE_INITIALIZED (mutexname);

	* birnetcore.h: provide BIRNET_CPP_PASTE[234]().

	* birnetmsg.h: use BIRNET_CPP_PASTE4().

Wed Jun 21 23:38:35 2006  Tim Janik  <timj@gtk.org>

	* Makefile.am: define _GNU_SOURCE for the birnet programming environment,
	to automatically get GNU extensions like dprintf(), large file, uint, ...

Wed Jun 21 02:13:38 2006  Tim Janik  <timj@gtk.org>

	* Makefile.am: provide versioning information and BIRNET_SIZEOF_SYS_TYPESH_UINT.

	* birnetcore.h: include <sys/types.h> for uint, ssize and other types.
	used gcc modes to define type width now. resolve clashes when defining
	uint by checking BIRNET_SIZEOF_SYS_TYPESH_UINT.

	* birnetthreadxx.cc: fixed missing ThreadDescendant() constructor which
	the gcc-4.2.0 snapshot 20060530 failed to catch.

	* tests/datalist.cc: make all data keys static, otherwise we get crashes
	due to mixed up destruction order. (data keys should always be static).

	* tests/infotest.cc: added a simple test for BIRNET_CHECK_VERSION().

	* configure.inc: provide birnet versioning information. check for uint
	in <sys/types.h>.

Sun Jun 18 03:11:35 2006  Tim Janik  <timj@gtk.org>

	* birnetthreadxx.hh, birnetthreadxx.cc: provide Thread::Self::exit().

	* birnetthread.h, birnetthread.c: provide birnet_thread_exit().

Fri Jun 16 01:28:35 2006  Tim Janik  <timj@gtk.org>

	* birnetutilsxx.cc: initialize GThread as early as possible.
	minor cleanups.

Tue Jun 13 01:51:18 2006  Tim Janik  <timj@gtk.org>

	* birnetsignal.hh: renamed SignalBase::Link to TrampolineLink.
	fixed SlotBase::~SlotBase() to not leak trampoline reference
	counts. renamed link accessor to SlotBase::get_trampoline_link() and
	fixed callers. 

	* birnetsignalslot.hh: added Slot*::get_trampoline() method to all
	Slot* classes to access the trampoline in a type safe manner.

	* tests/signal.cc: added a test for trampoline accesses on slots.

Mon Jun 12 01:06:47 2006  Tim Janik  <timj@gtk.org>

	* birnetutilsxx.hh: moved template declarations from bsecxxutils.hh
	here, to signal template usage errors.
	added function TEMPLATE_ERROR::invalid_type<>();
	added class TEMPLATE_ERROR::InvalidType<>;

Sun Jun 11 23:48:59 2006  Tim Janik  <timj@gtk.org>

	* birnetthread.c: destruction phase fixups.
	birnet_thread_unref(): ensure all callback related destruction has 
	already taken place when ref_count drops to 0.
	birnet_thread_handle_exit(): call C++ destruciton logic.

	* birnetthreadxx.cc: moved magic trhread implementation bits into 
	Thread::ThreadWrapperInternal. 

	* birnetthreadxx.hh: added OwnedMutex to Thread. cleaned up magic
	implementation bits. provide Thread::Self::owned_mutex(). 
	provide DataListContainer API by reimplementation for thread safety.

	* tests/datalist.cc: test Thread DataListContainer API.

	* tests/threads.cc: minor adjustments.

Sun Jun 11 19:47:27 2006  Tim Janik  <timj@gtk.org>

	* birnetutilsxx.hh, birnetutilsxx.cc: moved DataList implementation here
	from Rapicorn. this provides the API types DataKey and DataListContainer.

	* tests/datalist.cc: DataList test, adapted from Rapicorn.

	* birnettests.h: made TASSERT() more verbose if TEST_VERBOSE is defined.

Sun Jun 11 19:02:05 2006  Tim Janik  <timj@gtk.org>

	* birnetcore.h: provide STRFUNC if _BIRNET_SOURCE_EXTENSIONS is defined.

Fri Jun  9 19:54:52 2006  Tim Janik  <timj@gtk.org>

	* birnettests.h (birnet_init_test): check that NULL is defined to __null
	in C++ on 64bit.

Fri Jun  9 19:50:24 2006  Tim Janik  <timj@gtk.org>

	* birnetthreadxx.hh: allow multiple invocations of relock() without
	unlock() on an auto locker and have the auto locker clear up these
	locks in its destructor. i.e. added a lock counter to auto locker.

	* birnetthreadxx.cc (_birnet_init_threads_cxx): 
	avoid std::list::size() which is O(N).

	* test/threads.cc: moved former AutoLocker here as GenericAutoLocker,
	added it to auto locker benchmarks. added a test to check auto locker
	lock counting.

Thu Jun  8 00:00:10 2006  Tim Janik  <timj@gtk.org>

	* birnetthreadxx.hh, birnetthreadxx.cc: added initialization queues for
	mutexes and conditions to allow static mutexes and conditions. however,
	locking/unlocking of course still only works *after* threading 
	initialization.

	* birnetthread.h:
	* birnetthread.c: added birnet_threads_initialized() and a C++ threading
	initialization hook.

	* test/threads.cc: test static mutexes.

Wed Jun  7 20:14:14 2006  Tim Janik  <timj@gtk.org>

	* birnetthreadxx.hh: turned OwnedMutex into a recursive mutex.
	* birnetthreadxx.cc: turned OwnedMutex into a recursive mutex.
	* tests/threads.cc (test_thread_cxx): adapted tests.

Wed Jun  7 20:00:03 2006  Tim Janik  <timj@gtk.org>

	* birnetmsg.c: fixed up atomic accessors.

	* birnetthread.h: fixed up atomic accessors, introduced atomic_uint
	functions.

	* birnetthreadxx.cc:
	* birnetthread.c: fixed up C++ thread pointer implementation.

	* birnetthreadxx.cc, birnetthreadxx.hh: added OwnedMutex.

	* tests/threads.cc: test OwnedMutex.

Tue Jun  6 16:53:40 2006  Stefan Westerfeld  <stefan@space.twc.de>

	* tests/threads.cc: Check that C++ constructors and destructors and
	the AutoLocker constructor and destructor will be executed in the
	order we need, that is: an AutoLocker that is created before an object
	should protect its constructor and destructor, an AutoLocker created
	after an object should not affect its constructor and destructor.

Tue Jun  6 16:47:23 2006  Tim Janik  <timj@gtk.org>

	* birnetthreadxx.hh: got rid of the extra locker pointer by using a
	(void*) and static_cast(). added new assertions. const-optimized code.

	* birnettests.h (TEST_CALIBRATION): give a tiny bit more time for 
	calibration to increase accuracy somewhat.

	* threads.cc: adapted auto locker test counts to be more precise.
	added a new benchmark for the former birnet AutoLocker implementation
	which doesn't cast memory but stores an additional pointer.
	adapted AutoLocker assertion code which now uses a protected method.

Tue Jun  6 14:34:53 2006  Stefan Westerfeld  <stefan@space.twc.de>

	* tests/threads.cc: Fixed bug in auto locker benchmark. It is
	necessary to take into account that the different loops will run with
	a different number of dups; so the times need to be adjusted
	accordingly.

Tue Jun  6 02:03:07 2006  Tim Janik  <timj@gtk.org>

	* birnetthreadxx.hh: reimplemented the AutoLocker class with the help of
	an inlined template wrapper object. all types of lockable objects are
	now supported, and the new implementation is actually faster.

	* threads.cc: call assert_impl() on the new auto locker which assert
	crucial implementation assumptions. added auto locker benchamrks for
	the former birnet implementation, an early heap based prototype and
	the current implementation.

Mon Jun  5 18:04:19 2006  Tim Janik  <timj@gtk.org>

	* birnetthreadxx.hh: added support for atomic const pointer access.
	fixed missing return value cast in Atomic::ptr_get().

Mon Jun  5 17:51:42 2006  Tim Janik  <timj@gtk.org>

	* birnetthreadxx.hh: fixed up AutoLocker member names. 
	added support for initialization from mutex pointers.

	* tests/threads.cc: extended AutoLocker test to check constructors
	from mutex pointers.

Mon Jun  5 14:09:45 2006  Tim Janik  <timj@gtk.org>

	* birnetutilsxx.hh (binary_lookup_fuzzy): use unsigned types for offs
	and n_elements to extend the range of binary lookups from 2^31 to 2^32.

Mon Jun  5 13:55:59 2006  Tim Janik  <timj@gtk.org>

	* birnettests.h: added TCHECK() which can be used like TASSERT() but
	doesn't print a mark. (silent assertion, usefull for *many* tests).

	* birnetutilsxx.hh: moved templates binary_lookup_insertion_pos(),
	binary_lookup_sibling() and binary_lookup() from bsecxxutils.hh here.

	* tests/sorting.cc: new test which tests various binary lookups.

Wed May 31 18:19:30 2006  Tim Janik  <timj@gtk.org>

	* tests/threads.cc (test_recursive_auto_lock): minor extensions to the
	AutoLocker test case. fixed formatting.

Wed May 31 15:48:35 2006  Stefan Westerfeld  <stefan@space.twc.de>

	* tests/threads.cc: Add some AutoLocker test code.

	* birnetthreadxx.hh: Provide Birnet::AutoLocker class which locks a
	mutex on construction, and automatically unlocks it on destruction, so
	that putting an AutoLocker object on the stack conveniently ensures
	that the mutex will be properly unlocked for instance when the
	function returns or an exception gets thrown.

Fri May 26 17:38:00 2006  Tim Janik  <timj@gtk.org>

	* birnetcore.h: define BIRNET_*LIKELY() macros.

Fri May 26 14:01:45 2006  Tim Janik  <timj@gtk.org>

	* birnetutilsxx.[hc]*: added dirname() and basename().
	provide PRIVATE_CLASS_COPY() as birnet source extension.

	* birnetcore.h: provide BIRNET_DIR_SEPARATOR, BIRNET_SEARCHPATH_SEPARATOR
	and related macros.

Fri May 26 13:42:59 2006  Tim Janik  <timj@gtk.org>

	* birnetcore.h: provide ABS, MIN, MAX, CLAMP.

Sat May 20 15:34:05 2006  Tim Janik  <timj@gtk.org>

	* birnetutilsxx.cc (birnet_init_extended): added srand48() call to random 
	number initializations.

	* birnettests.h: expose birnet_test_setup(). initialize birnet
	with stand-alone=true for test programs to prevent rcfiles and the like
	to taint test results.

	* birnetutilsxx.cc:
	* birnetcore.[hc]: added BirnetInitValue and accessors to get values of
	different types. added birnet_init_extended() and birnet_init_settings.

Wed May 10 00:07:16 2006  Tim Janik  <timj@gtk.org>

	* birnetthread.c: minor protability fix for sched_yield().

	* birnetthreadxx.cc: use birnet_thread_yield().

Tue May  9 22:55:08 2006  Tim Janik  <timj@gtk.org>

	* birnettests.h (TEST_CALIBRATION): give up the current time slice 
	before calibrating, this can stabelize the loop on some OSes.

	* birnetthread.[hc]: implemented birnet_thread_yield().

Tue May  9 22:50:23 2006  Stefan Westerfeld  <stefan@space.twc.de>

	* birnetutilsxx.cc (birnet_init): Initialize rand()'s random generator
	seed via gettimeofday.

Mon Apr 24 21:38:55 2006  Stefan Westerfeld  <stefan@space.twc.de>

	* birnettests.h (TEST_CALIBRATION): Ensure that TEST_CALIBRATION
	returns at least 1. Before this change, a return value of 0 would be
	possible for very slow test code.

Mon Apr 24 19:26:04 2006  Tim Janik  <timj@gtk.org>

	* birnetthread.c (get_pth_thread_table): use fputs() to print messages 
	when starting up the thread system. g_message() and friends are not 
	yet usable.

Sat Apr 22 17:54:12 2006  Tim Janik  <timj@gtk.org>

	* birnettests.h (TEST_CALIBRATION): comment and whitespace fixups. 
	consolidated code bloat. tweaked timing bounds to speed up calibration
	runs. use g_printerr() for printouts.

Sat Apr 22 13:25:54 2006  Stefan Westerfeld  <stefan@space.twc.de>

	* birnettests.h: Added TEST_CALIBRATION macro, which allows benchmark
	tests to figure out how often to perform a test for a given CPU.
	Besides the actual benchmark code, it allows the programmer to specify
	how much time the bencharking should take, and a suitable number of
	repetitions for the test code is computed.

	* birnetutilsxx.cc: Use g_path_get_basename() to call g_set_progname()
	with the application name only (without the full path).

Sat Apr 15 03:36:21 2006  Tim Janik  <timj@gtk.org>

	* birnetcpu.c (birnet_cpu_info_string): added proper CPU prefixing.

Sat Apr 15 03:18:53 2006  Tim Janik  <timj@gtk.org>

	* birnetcpu.[hc]: do runtime detection of the CPU type and
	the CPU features. in particular, detect the available (SIMD)
	instruction sets at runtime. currently supports i368 and
	amd64 via CPUID.

	* birnetcore.h: provide wrapper macros for GCC attributes.

	* tests/infotest.cc: test the CPU info API.

Tue Apr 11 23:37:32 2006  Tim Janik  <timj@gtk.org>

	* Makefile.am: make dist fixes.

Wed Apr  5 02:11:07 2006  Tim Janik  <timj@gtk.org>

	* birnettests.h: removed unused TFAIL() macro. TERROR() is more
	elaborate anyway and can be used instead.

Tue Apr  4 21:58:49 2006  Tim Janik  <timj@gtk.org>

	* birnettests.h: allow printf-style arguments to TSTART().
	added TERROR() to forcefully abort.

Mon Apr  3 23:00:15 2006  Tim Janik  <timj@gtk.org>

	* birnettests.h: add macros and convenience functions useful for 
	test programs.

	* tests/signal.cc:
	* tests/threads.cc:
	* tests/ring.cc: use test macros.

	* tests/Makefile.am:
	* tests/testutils.h: removed entirely in favour of birnettests.h.

Sun Apr  2 03:28:04 2006  Tim Janik  <timj@gtk.org>

	* birnetcore.h: provide ISLIKELY() as alias for LIKELY().

	* birnetsignaltemplate.hh:
	* birnetsignal.hh:
	* tests/signal.cc: fixed assertions.

	* birnetutilsxx.hh: fixed primitive type ambiguities.

	* Makefile.am: -D_BIRNET_SOURCE_EXTENSIONS is provided by Makefile.decl.

	* tests/Makefile.am: DEFS is defined by Makefile.decl.

Thu Mar 30 19:34:07 2006  Tim Janik  <timj@gtk.org>

	* birnetcore.h: changed switch macro for birnet extensins
	to _BIRNET_SOURCE_EXTENSIONS.

	* birnetcore.h: added more return_if_fail and assertion macros
	plus shorthands. 

	* birnet.h:
	* mksignals.sh:
	* birnetsignal.hh: 
	* birnetsignalslot.hh: 
	* birnetsignaltemplate.hh: added C++ signal system.
	* ChangeLog: added old signal system change entries.

	* tests/signal.cc: test the C++ signal system.

	* configure.inc: added libtool workaround for missing -lpthread.

    Wed Dec 28 01:07:43 2005  Tim Janik  <timj@gtk.org>

	* birnetsignaltemplate.hh: added disconnect() and
	corrsponding -= operators.

	* birnetsignal.hh: added operator== to signal handler
	links, to allow disconnections. implemented disconnect_equal_link()
	for signal links.

	* mksignals.sh:
	* birnetsignalslot.hh: renamed handler to trampoline.
	added slot() constructor for signals + emit() method. with this,
	slot(sig_some_signal) can be connected and disconnected.

	* tests/signal.cc: signal handler data must implement operator== now.

    Wed Jul  6 20:06:05 2005  Tim Janik  <timj@gtk.org>

	* birnetsignal.hh: added struct CollectorUntil0 signal
	collector template. predefine SignalVoid for void(void) signals.

    Mon Apr 18 23:10:21 2005  Tim Janik  <timj@gtk.org>

	* mksignals.sh: /bin/sh is more protable than bash.

    Sun Apr 17 19:06:31 2005  Tim Janik  <timj@gtk.org>

	* birnetsignal.hh: introduce ScopeReference to keep an
	instance referenced within block scope. added SignalFinalize
	which does not need the emitter to be ref/unref-ed around emit(),
	but instead asserts its in finalization stage. cleanups.
	* birnetsignaltemplate.hh: use ScopeReference.

	* tests/signal.cc: removed cruft.


    Wed Mar 30 00:52:05 2005  Tim Janik  <timj@gtk.org>

	* birnetsignalslot.hh: moved signal handler and slot
	definitions here. there're no emitter handlers/slots anymore.
	support extra data argument for function and method handlers.

	* birnetsignaltemplate.hh: removed handlers/slots. moved
	knowledge about emitter obejct into Emission. let class Emission
	care about casting handlers correctly (with or without emitter arg),
	cleaned up signal methods some.

	* birnetsignal.hh: removed HandlerBase, ReferencableBase.
	added with_emitter flag to signal handlers. made SlotBase a regular
	class, rather than a template. 

	* mksignals.sh: fixed line numbers. allow 17 arguments.
	allow specification of maximum argument count. 

	* tests/signal.cc: test data handlers and emitter-less ahndlers.

	* Makefile.am: generate birnetsignalvariants.hh from
	birnetsignalslot.hh (we need 0..17 argument handlers) and
	birnetsignaltemplate.hh (for 0..16 argument signals).

    Tue Mar 29 17:00:08 2005  Tim Janik  <timj@gtk.org>

	* birnetsignal.hh, birnetsignal.cc: namespace change
	to namespace Signals. added EmissionBase, extended SignalBase to
	maintain a signal handler list as ring data structure. removed
	accumulators, added Collectors, added Signature template to extract the
	return type of a function type for functions with up to 16 arguments.
	include birnetsignalvariants.hh to define all signal variants. 

	* birnetsignaltemplate.hh: implement signal with emission and
	handlers etc, for exactly 3 signal arguments. 

	* mksignals.sh: generate signal variants for 0..16 signal 
	arguments from birnetsignaltemplate.hh.

	* Makefile.am: generate birnetsignalvariants.hh.

	* tests/signal.cc: test signal variants for 0..16 arguments with void
	and other return types. 

    Mon Mar 28 10:12:34 2005  Tim Janik  <timj@gtk.org>

	* birnetsignal.hh, birnetsignaldefs.hh:
	moved signals into an extra Signal namespace, renamed Signal::Closure
	to Signal::Handler. 

    Mon Mar 28 10:01:06 2005  Tim Janik  <timj@gtk.org>

	* birnetsignaldefs.hh: disabled signal generation.
	added test implementation of a 3 argument signal which supports passing
	the emitter object as first argument to signal handlers.

	* tests/signal.cc: disabled old signal tests.
	added test for 3 argument signal variant, currently implemented in
	birnetsignaldefs.hh.

    Sun Mar 27 19:52:12 2005  Tim Janik  <timj@gtk.org>

	* birnetsignal.hh, birnetsignalinc.hh:
	* birnetsignaldefs.hh:
	rudimentary signal (callback list) implementation for C++.

	* tests/signal.cc: test signals.

Thu Mar 30 19:12:29 2006  Tim Janik  <timj@gtk.org>

	* birnetcore.h: 
	* birnetutilsxx.cc: added argc/argv to birnet_init().
	propagated change and changed callers.

Sun Mar 19 22:26:02 2006  Tim Janik  <timj@gtk.org>

	* Makefile.am: compile with -DBIRNET_FEATURES.
	fixed up birnetconfig.h generation.

	* birnetthread.h:
	* birnetthread.c:
	moved BirnetThreads to a reference counted model, to
	execute a thread, birnet_thread_start() must be called now.
	birnet_thread_run() will now create a thread and automatically
	start it, the returned thread structure must be unrefed.
	always demand a well formed thread name. added C++ hooks. 
	use 64bit data types for time ranges. some atomic fixes.
	birnet_thread_get_aborted(): return whether a thread got aborted.
	birnet_thread_get_running(): return whether a thread is
	currently running.
	birnet_thread_wait_for_exit(): block until the thread has exited.

	* birnetthreadxx.hh:
	* birnetthreadxx.cc: provide a C++ API for threads. added classes
	Mutex, RecMutex, Cond, Atomic, Thread and Thread::Self.

	* birnetutils.h:
	* birnetutils.c: added for C utilities.

	* birnetutilsxx.hh:
	* birnetutilsxx.cc: define fundamental types in the Birnet:: namespace.
	moved birnet_init() hook logic here. added ReferenceCountImpl class,
	which implements atomic reference counting for objects.

	* birnetcore.h: define BIRNET_STATIC_ASSERT() and
	BIRNET_ASSERT(), removed C++ code. define standard types,
	such as uint64 and unichar.

	* birnetcore.c: removed birnet_init() implementation.

	* birnetcore.hh:
	* birnetcore.cc: removed entirely.

	* tests/threads.cc: extended tests, added C++ tests.

Fri Mar 17 19:41:50 2006  Tim Janik  <timj@gtk.org>

	* birnetcore.h: CVS copied from birnetcore.hh.

	* birnetcore.c: CVS copied from birnetcore.cc.

Thu Mar  9 18:06:55 2006  Tim Janik  <timj@gtk.org>

	* Makefile.am: install birnet.h.

Thu Mar  9 02:57:33 2006  Tim Janik  <timj@gtk.org>

	* birnetcore.cc (birnet_init): allow double initialization.

Thu Mar  9 01:50:07 2006  Tim Janik  <timj@gtk.org>

	* Makefile.am: generate partial library libbirnet.o.

	* birnet.h: combine include header.

	* birnetcore.hh:
	* birnetcore.cc: provide birnet_init() and provide initialization
	hook funcitonality for C++.

	* birnetthread.c: fixed thread start syncronization races.

Tue Mar  7 19:50:01 2006  Tim Janik  <timj@gtk.org>

	* Makefile.am: fix dependency.

Tue Mar  7 03:06:55 2006  Tim Janik  <timj@gtk.org>

	* configure.inc: define AC_BIRNET_REQUIREMENTS() to perform configure
	checks for libbirnet.la.

Tue Mar  7 02:56:25 2006  Tim Janik  <timj@gtk.org>

	* tests/threads.cc: added BirnetThread from sfi/testsfi.c.
	also added a test for atomic integer increments.

	* tests/testutils.h: utility functions for tests.

	* tests/ring.cc: added BirnetRing tests from sfi/testsfi.c.

	* tests/Makefile.am: build and check test programs.

Tue Mar  7 02:34:38 2006  Tim Janik  <timj@gtk.org>

        * Makefile.am: build rules for libbirnet.la.

        * birnetmsg.[hc]: slight atomicity fixes.

        * birnetring.[hc]: removed non ring related cruft.
        added docs to some ring functions.

        * birnetthread.[hc]: fixed atomic functions. fixed
        birnet_thread_run() race by letting newly created threads
        sleep until birnet_thread_run() completed its setup.
        allocate per-thread BirnetCond as part of the thread structure.
        fixed thread handle leaks in birnet_thread_run() by introducing
        birnet_thread_handle_free(). 
        fixed accounting accuracy in thread_info_from_stat_L() by reading
        out /proc/%u/task/%u/stat files which provide per-thread info,
        instead of using getrusage(). renamed mutex macros.
	support GSlice. cache getpid(). added birnet_init().

Tue Mar  7 02:45:06 2006  Tim Janik  <timj@gtk.org>

	* birnetmsg.[hc]:
	* birnetring.[hc]:
	* birnetthread.[hc]: Sfi -> Birnet rename.

Mon Mar  6 20:28:02 2006  Tim Janik  <timj@gtk.org>

	* birnetmsg.[hc]: CVS copied from beast/sfi/sfilog.[hc].

Mon Mar  6 20:24:04 2006  Tim Janik  <timj@gtk.org>

	* birnetthread.[hc]: CVS copied from beast/sfi/sfithreads.[hc].

	* birnetring.[hc]: CVS copied from beast/sfi/sfiprimitives.[hc].
