beast r4478 - in trunk/birnet: . tests



Author: stw
Date: Thu Jun 12 10:36:40 2008
New Revision: 4478
URL: http://svn.gnome.org/viewvc/beast?rev=4478&view=rev

Log:
Compile fixes for G++-4.3.

Wed Jun 11 14:04:31 2008  Stefan Westerfeld  <stefan space twc de>

	* birnetsignal.hh:
	* birnetsignaltemplate.hh: Compile fixes for G++-4.3, which does not
	allow typedefs to the same name that an existing template uses.

	* birnetutils.cc:
	* tests/sorting.cc:
	* tests/strings.cc:
	* tests/threads.cc:
	* birnetmsg.cc: Compile fixes for G++-4.3: added a few standard
	includes for strcmp(), rand() and such.

Sun Jun  8 11:19:57 2008  Stefan Westerfeld  <stefan space twc de>

	* mksignals.sh: Removed bash specific syntax as suggested by Chris
	Lamb (debian bug #472659).

Wed Feb 21 03:27:02 2007  Tim Janik  <timj gtk org>

	* birnetthread.hh: fixed up destructor ordering. added missing
	privatization of class copies. fixed memory region aliasing that
	could cause segfaults with some gcc optimizations. worked around
	ICE (GCC#30894). minor assertion optimization. added AutoLocker
	compile time assertion about structure/area sizes.

	* birnetutils.hh, birnetutils.cc: provide zintern_free() alongside
	zintern_decompress(), so the API doesn't depend on GLib.

	* tests/infotest.cc: use zintern_free().

Sun Feb 18 03:00:54 2007  Tim Janik  <timj gtk org>

	* birnetcdefs.h: if LLONG_MAX isn't provided by gcc's limits.h despite
	C99/GNU_SOURCE, fallback to define *INT64* constants via LONG_LONG_MAX,
	which is provided by all 3.0+ gcc versions.

Wed Feb 14 23:58:43 2007  Tim Janik  <timj gtk org>

	* birnetcdefs.h: unconditionally include C99 headers limits.h and float.h.
	provide UINT64_MAX, INT64_MIN, INT64_MAX if the system doesn't.

	* birnetutils.cc: assert working implementations of the various limits
	and constants introduced by limits.h and float.h.

Fri Feb  9 21:13:21 2007  Tim Janik  <timj gtk org>

	* configure.inc, Makefile.am, birnetconfig.h: define BIRNET_SYSVAL_*
	for POLL constants. 

	* tests/systest.cc: check POLL constants.

Fri Feb  9 18:27:27 2007  Tim Janik  <timj gtk org>

	* configure.inc, Makefile.am, birnetconfig.h: define BIRNET_SIZEOF_LONG
	and BIRNET_SIZEOF_POINTER.

Sun Feb  4 17:08:31 2007  Tim Janik  <timj gtk org>

	* updated .gitignore files.

Sun Feb  4 17:00:38 2007  Tim Janik  <timj gtk org>

	* updated all licenses to GNU Lesser General Public License version 2.1.

Fri Feb  2 00:54:32 2007  Tim Janik  <timj gtk org>

	* birnetdebugtools.cc: don't write trailing 0s in debug stream, 
	slightly reduced stack requirements, 4000 chars are hopefully 
	enough for async debugging messages.

Thu Feb  1 23:24:16 2007  Tim Janik  <timj gtk org>

	* birnetdebugtools.hh: make printf_valist() public to allow wrapper
	implementations.

	* birnetdebugtools.cc: auto append newlines to printed lines.

Thu Feb  1 20:27:09 2007  Tim Janik  <timj gtk org>

	* birnetdebugtools.hh, birnetdebugtools.cc: added DebugChannel, a 
	reference counted interface which allows sending of debug messages.
	if a debug channel is created with new_from_file_async(), printing
	a message happens in constant time in the calling thread, and the
	debugging output is written into a file by a background thread.

	* tests/threads.cc: added simply DebugChannel test.

Mon Jan 29 23:29:27 2007  Tim Janik  <timj gtk org>

	* examples/mkhost.sh: generate Makefile.decl with slowcheck: and perf:
	rules. also generate report: rule which runs all of check: slowcheck:
	and perf: and generates a report.out file.

Mon Jan 29 22:46:40 2007  Tim Janik  <timj gtk org>

	* birnet/birnetthread.hh: made read_barrier() and write_barrier() a NOP 
	on systems that don't need barriers. provided full_barrier().

	* birnetthread.cc: fixed a bad bug in atomic_int_set() and 
	atomic_pointer_set() which caused atomic values to temporarily be 0.

	* birnet/birnetcdefs.h: provide memory barrier implementations based on atomic ops.

	* birnet/Makefile.am: define BIRNET_MEMORY_BARRIER_NEEDED in birnetconfig.h.

	* configure.inc: provide BIRNET_MEMORY_BARRIER_NEEDED=[01] based on 
	glib's G_ATOMIC_OP_MEMORY_BARRIER_NEEDED.

Sun Jan 28 19:31:12 2007  Tim Janik  <timj gtk org>

	* fixed various compiler warnings.

Sun Jan 28 19:05:51 2007  Tim Janik  <timj gtk org>

	* birnetthread.hh: provide read and write memory barriers:
	Atomic::read_barrier(), Atomic::write_barrier().
	Atomic::RingBuffer: prevent class copies, fixed destructor, use
	std::copy() for fast memory copies and added missing barriers;
	fixes suggested by Stefan Westerfeld.

	* tests/threads.cc: fixed contention handling in ring buffer tests.

Thu Jan 25 02:43:28 2007  Tim Janik  <timj gtk org>

	* tests/threads.cc: give up CPU if ring buffer reader/writer
	are busy spinning. this speeds up tests on single-CPU systems
	significantly.

Thu Jan 25 02:03:37 2007  Tim Janik  <timj gtk org>

	* birnetthread.[hc]*: sink & ref threads around run() to keep the Thread
	structure alive. added Thread::Self::yield().
	added Atomic::RingBuffer<>, a simple 1-reader/1-writer ring bufferthat
	does atomic reads/writes without needing mutexes.

	* tests/threads.cc: added atomic ring buffer tests.
	test_deletable_destruction(): shutup old debug output.
	main(): always run quick tests.

Sat Jan 20 17:41:06 2007  Tim Janik  <timj gtk org>

	* birnetthread.hh: fixed volatile pointer attribute to apply to the
	pointer value. 

	* birnetutils.cc: changed DeletionHook linking to form a ring. added
	an assertion to ~DeletionHook() that *this was unlinked before being
	destroyed. changed deletable_maps[] implementation to be created
	atomically on demand and never be destroyed. this fixes problems with
	unpredictable constructor/destructor ordering.

Fri Jan 19 01:48:22 2007  Tim Janik  <timj gtk org>

	* birnetutils.hh, birnetutils.cc: call monitoring_deletable()
	when deletion hooks are added to deletables, renamed
	dismiss_deletable() method.

	* birnetsignalslot.hh: adapted DeletionHook methods.

	* tests/threads.cc: added deletion hook test cases.

Wed Jan 17 02:30:35 2007  Tim Janik  <timj gtk org>

	* examples/mkhost.sh: added a small script to set up an example project
	that configures, builds and tests (via make check) a birnet/ subdir.

Wed Jan 17 02:28:18 2007  Tim Janik  <timj gtk org>

	* Makefile.am: define _BIRNET_SOURCE_EXTENSIONS, so birnet extensions
	can be used internally.

Wed Jan 17 02:19:56 2007  Tim Janik  <timj gtk org>

	* COPYING.LGPL: explicitely include Birnet license, GNU LGPL.

Thu Jan  4 21:53:56 2007  Tim Janik  <timj gtk org>

	* birnetthread.hh:
	* birnetutils.hh: introduce virtual destructors demanded by g++-4.1.

	* birnetthreadimpl.cc:
	* birnetutils.cc: make double->int64 conversion explicit.

Thu Jan  4 20:29:24 2007  Tim Janik  <timj gtk org>

	* mksignals.sh: changed script interpreter to /bin/bash to account
	for bash-isms.

Sun Dec 17 02:16:50 2006  Tim Janik  <timj gtk org>

	* tests/strings.cc: glib condition fix, g_unichar_iswide_cjk()
	was introduced in glib-2.12.

Sun Dec 17 00:11:24 2006  Tim Janik  <timj gtk org>

	* birnetutils.[hc]*: provide virtual destructor for class with virtual
	methods, demanded by g++.

	* acbirnet.m4: added autoconf utility file (moved here from beast).

Sat Dec 16 12:51:20 2006  Tim Janik  <timj gtk org>

	* birnetutf8.cc (iswide_cjk): glib condition fix, g_unichar_iswide_cjk()
	was introduced in glib-2.12.

Fri Dec  8 23:03:14 2006  Tim Janik  <timj gtk org>

	* birnetutils.hh (binary_lookup_insertion_pos): fixed missing "std::".

Sun Dec  3 20:09:58 2006  Tim Janik  <timj gtk org>

	* birnetcdefs.h: added x86_sse4 to BirnetCPUInfo.

	* birnetcpu.cc (get_x86_cpu_features): detect x86_sse4 bit of CPUID.

Tue Nov 28 01:20:57 2006  Tim Janik  <timj gtk org>

	* birnetthreadimpl.cc: do not provide chain/unchain functions after 
	thread system initialization, since calling them at this point is
	invalid.

Wed Nov 22 19:45:21 2006  Tim Janik  <timj gtk org>

	* birnetutils.cc (url_test_show): prefer configurable browser launchers
	over non-configurable browser launchers.

	* birnetcdefs.h: provide EXTERN_C and BIRNET_MAY_ALIAS.

Tue Nov 21 22:04:15 2006  Tim Janik  <timj gtk org>

	* birnetutils.cc: reworked browser launching logic to work around
	launcher scripts failing unnoticed by executing browser programs
	asyncronously and executing browser launch scripts syncronously
	to check the exit code.
	added "browser" debug key and messages.
	due to unreliable exit codes or foreground/background execution
	behaviour, support had to be removed for the launcher scripts
	xdg-open, htmlview, browser-config and sensible-browser,
	added support for exo-open, galeon, epiphany, amaya and dillo.

	* birnetmsg.hh, birnetmsg.cc: added Msg::CustomType class through
	which users can easily create new logging types. added printf-style
	Msg::display() variant for custom message types.

Mon Nov 20 23:39:43 2006  Tim Janik  <timj gtk org>

	* birnetmsg.hh, birnetmsg.cc: implemented C++ messaging API,
	mostly based on the former sfimsg.c.
	extended API to match most of the old sfi_msg_* API, including
	syslog logging, stdlog configuraiton and various new message types.

	* birnetthread.cc: fixed missing zero initialization of C structs.

	* tests/infotest.cc: added some message tests.

Wed Nov 15 01:00:21 2006  Tim Janik  <timj gtk org>

	* birnetmath.hh, birnetmath.cc: added dtoi32, dtoi64, iround, iceil, 
	ifloor definitions from Rapicorn. these are fast float->integer 
	conversion routines on i386.

	* tests/math.cc: test dtoi implementation and friends.

Thu Nov  2 22:28:49 2006  Tim Janik  <timj gtk org>

	* birnettests.h: added TABORT_HANDLER() to specify a custom callback
	for informative printouts to be executed upon failing assertions.
	such a handler setup is only active within a single TSTART/TDONE block.
	added TCHECK_CMP() and TASSERT_CMP() to print out mismatching
	values of failing comparisons.

Wed Nov  1 11:46:10 2006  Stefan Westerfeld  <stefan space twc de>

	* birnetcdefs.h: Applied Patch from Tim to define BirnetInt64 and
	BirnetUInt64 as (signed) long long int, as otherwise %lld printf
	formats on AMD64 emit compiler warnings.
	
	* birnetthreadimpl.cc: Use BirnetUInt64 arguments for thread table
	function implementations of thread_awake_after and
	thread_emit_wakeups, to be consistent with the thread table function
	pointers defined in birnetcdefs.h.

Tue Oct 24 23:51:12 2006  Tim Janik  <timj gtk org>

	* birnettests.h: added cpu name to treport_*() output.

Mon Oct 23 17:56:19 2006  Stefan Westerfeld  <stefan space twc de>

	* birnetthreads.hh: Fixed typos in AutoLocker documentation.

Wed Oct 11 02:11:29 2006  Tim Janik  <timj gtk org>

	* birnetutf8.hh: added utf8_align() and utf8_aligned() to step back
	from the middle of an UTF-8 char.

Sat Oct 21 19:02:47 2006  Tim Janik  <timj gtk org>

	* birnettests.h (treport_generic): allow fixed portion of numbers
	to occupy 9 characters. added more test units.

Sat Oct 21 17:14:54 2006  Tim Janik  <timj gtk org>

	* birnetutils.hh, birnetutils.cc: provide init_settings() function to 
	access initialization setting values. test should now use:
	init_settings().test_perf
	init_settings().test_slow or
	init_settings().test_quick.

	* birnettests.h: fixed float printing.

Sat Oct 21 03:46:05 2006  Tim Janik  <timj gtk org>

	* birnettests.h: added treport_maximized() and treport_minimized()
	benchmark reporting funcitons. added TUnitType to allow specification
	of units for benchmark results.

	* birnetcdefs.h:
	* birnetutils.cc: parse --g-fatal-warnings, --test-quick, --test-slow
	and --test-perf. allow special casing of tests via 
	birnet_init_settings->test_quick, birnet_init_settings->test_slow and
	birnet_init_settings->test_perf.

	* tests/sorting.cc:
	* tests/strings.cc:
	* tests/threads.cc:
	* tests/Makefile.am: split up TESTS into SLOWTESTS and PERFTESTS and
	report performance results properly.

Tue Oct 10 23:23:11 2006  Tim Janik  <timj gtk org>

	* birnetutf8.hh, birnetutf8.cc: added Unichar::isvalid().
	changed arguemnt order of utf8_find_prev() to match that of 
	g_utf8_find_prev_char(), adapted test case. added utf8_validate(),
	wrapping g_utf8_validate().

	* tests/strings.cc: adapt to utf8_find_prev(). added Unichar::isvalid()
	test and utf8_validate() test.

Tue Oct 10 01:34:05 2006  Tim Janik  <timj gtk org>

	* birnetcdefs.h: provide extra prototype for extern inline functions
	for newer gcc.

Mon Oct  9 23:58:21 2006  Tim Janik  <timj gtk org>

	* birnetutils.cc: fixed typo in condition.

	* birnet-zintern.cc: fixed debugging statement.

Mon Oct  9 23:47:30 2006  Tim Janik  <timj gtk org>

	* birnetcdefs.h: ensure we have FALSE, TRUE, ABS, MIN, MAX, CLAMP,
	ARRAY_SIZE and STRFUNC.

	* birnetutils.hh: don't publically include glib.h, adapted affected
	callers. pre-declare ThreadTable to use atomic functions in class
	ReferenceCountImpl.

	* birnetutils.hh, birnetutils.cc: added string utilities to convert
	strings to and from bool, int, uint, float, double and double vector.
	added utilities to convert strings tolower, toupper, totitle, to strip
	strings and to print into strings in printf style.
	added uuid string test and comparison and errno to string conversion.

	* birnet-zintern.cc: converted somewhat more to C++.

	* tests/strings.cc: added uuid string functions tests.

Mon Oct  9 23:00:39 2006  Tim Janik  <timj gtk org>

	* birnetutf8.hh, birnetutf8.cc: wrap GLib isalnum() and friends to 
	classify unichar characters. provide inline functions to increment
	and decrement positions in UTF-8 strings.

	* tests/strings.cc: new test program to test birnetutf8.hh functions.

Sun Oct  8 16:20:18 2006  Tim Janik  <timj gtk org>

	* Makefile.am: ship birnetcdefs.h.

	* birnetthreadimpl.cc: added internal default constructors for gcc-3.3.

	* birnetmsg.hh: reordered function attributes on constructors for gcc-3.3.

Sat Oct  7 23:58:58 2006  Tim Janik  <timj gtk org>

	* birnetcdefs.h (BIRNET_ABORT_NORETURN): added noreturn call to macros 
	which can't return, to silence compiler in some cases.

Sat Oct  7 18:32:00 2006  Tim Janik  <timj gtk org>

	* birnetcdefs.h: moved non-symbol C API bits from birnetcore.h and
	birnethread.h bits here. extended threading table to also cover the
	normal threading API.

	* birnetcpu.hh, birnetcpu.cc: minor API changes.

	* birnetthread.hh, birnetthread.cc: use global threading table to
	access thread layer.

	* birnetthreadimpl.cc: main threading implementation moved here and 
	ported to C++. work around g_atomic_int_set and g_atomic_pointer_set
	missing from glib <= 2.10. reworked threading functions to use the
	global threading table.

	* birnetthread.h, birnetthread.c: removed. mostly merged into birnetthreadimpl.cc.

	* birnetutils.hh, birnetutils.cc: added birnet_runtime_problemv().

	* merged birnetutils.hh with birnetutilsxx.hh, and the same for the .cc files.

	* tests/threads.cc: added simple wrappers to keep the threading tests going.

Fri Oct  6 23:26:10 2006  Tim Janik  <timj gtk org>

	* birnetcdefs.h: new header file to contain (or include) all definitions
	and declarations that are useful for C only programs. while Birnet is not
	to support *any* C symbol at all, using common structure definitions 
	helps in wrapping certain features for C programs.

	* birnetcpu.hh, birnetcpu.cc: renamed and moved from .h and .c.

	* birnetutilsxx.hh, birnetutilsxx.cc: use birnetcdefs.h definitions.
	provided init functionality. added raise_sigtrap() and BREAKPOINT()
	implementations. 

	* birnetutilsxx.hh, birnetutilsxx.cc: merged everything from 
	birnetutils.hh and birnetutils.cc into these files.

	* birnet-zintern.cc:
	* birnettests.h: namespace fixups.

	* configure.inc: detect windows operating system.

Fri Oct  6 18:53:30 2006  Tim Janik  <timj gtk org>

	* birnet.hh: renamed from birnet.h.

	* tests/ring.cc:
	* birnetring.[hc]: removed, moved to sfi/ as SfiRing.

	* birnetutilsxx.hh, birnetutilsxx.cc: hide implementation of ref_diag().

	* birnetutils.hh, birnetutils.cc: renamed and ported to C++ from
	birnetutils.h and birnetutils.c. changed callers.

	* birnetthread.c: ported from BirnetRing to GSList.

	* birnet-zintern.cc: C++ fixes. changed callers.

	* birnettests.h: removed C function definitions.

	* birnetmsg.hh, birnetmsg.cc: implement messaging API akeleton for C++.

	* birnetmsg.[hc]: removed. (implementation moved to Sfi)

Sun Oct  1 13:31:47 2006  Tim Janik  <timj gtk org>

	* birnetutilsxx.hh: added Deletable docs.

Sat Sep 30 18:00:13 2006  Tim Janik  <timj gtk org>

	* birnetsignal.hh, birnetsignal.cc: moved virtual methods from .hh to
	.cc to emit fewer typeinfos.

	* birnetutilsxx.hh, birnetutilsxx.cc: moved DataList::NodeBase, 
	Deletable and ReferenceCountImpl destructors into .cc file to emit
	fewer typeinfos. 
	added class VirtualTypeid and moved cxx_demangle() into this class.
	let Deletable derive from VirtualTypeid to have typeid methods available
	for allmost all virtual classes. renamed Deletable::DestructionHook to
	Deletable::DeletionHook for consistency.

	* tests/infotest.cc (test_virtual_typeid): test VirtualTypeid methods.

Thu Sep 28 01:01:55 2006  Tim Janik  <timj gtk org>

	* birnetcore.h: introduce BIRNET_CONSTRUCTOR which wraps gcc's 
	"constructor" argument. as a work around for gcc-3.3, which tends
	to forget to emit code for static constructor functions if 
	-finline-functions is activated, also add attribute "used".

	* birnetthread.h:
	* birnetmsg.h: use BIRNET_CONSTRUCTOR to declare constructor functions.

	* tests/threads.cc: added a check for proper constructor function
	invokation before main().

Mon Sep 25 02:10:43 2006  Tim Janik  <timj gtk org>

	* birnetsignalslot.hh: fixed reference handling for Data slots, so
        reference types are supported as Data argument (they need to implement
        operator==() though).

	* tests/signal.cc: added data reference slot creation.

Thu Sep 21 00:16:05 2006  Tim Janik  <timj gtk org>

	* birnetutils.h, birnetutilsxx.cc: added birnet_cxx_demangle() and 
	cxx_demangle() to easily demangle C++ names.

Sat Sep 16 15:14:32 2006  Tim Janik  <timj gtk org>

	* birnetutils.c (birnet_malloc_aligned): fixed alginment adjustment so
	this function *really* returnes aligned memory. added check on whether
	malloc already aligned the memory the way we wanted it.

Sat Sep 16 09:20:49 2006  Stefan Westerfeld  <stefan space twc de>

	* birnetutils.[hc]: Added birnet_malloc_aligned(), which allocates
	memory with an arbitary alignment. The caller is responsible for
	for keeping track of and freeing the unaligned memory.

Tue Sep 12 01:41:18 2006  Tim Janik  <timj gtk org>

	* birnetutilsxx.cc (rip_data): fix missing updates of 'last' pointer
	wich caused data loss.

Thu Aug 23 21:21:00 2006  Tim Janik  <timj gtk org>

	* birnetcore.h, birnetutilsxx.hh: always use global uint definition
	(either from types.h or from a fallback definition) to avoid
	ambiguities.

Mon Aug 21 01:03:24 2006  Tim Janik  <timj gtk org>

	* birnetutils.h, birnetutils.c: added birnet_memset4(), a function to
	fill large memory regions with data of 32bit integer width.

Tue Jul 18 01:14:22 2006  Tim Janik  <timj gtk org>

	* birnetthreadxx.cc: use birnet_*__chain4init() and 
	birnet_*__unchain() functions to construct initializer lists for
	mutexes and conditions. that way we don't require std::list to be
	constructed at static mutex construction time (which can be a
	problem).

	* birnetthread.h, birnetthread.c: provide chain4init and
	unchain variants for recursive mutexes and conditions. this required
	reordering of the BirnetRecMutex fields. provide static declaration
	macros for recursive mutexes and conditions in C.

	* birnetsignalslot.hh: hook trampolines into the destruction phase
	of a Deletable, if the instance of a method trampoline is a Deletable.
	as a side effect of this, slot-= only works for Deletable instance
	methods, *before* the instance is deleted.

	* birnetsignal.hh: provide VoidSlot and BoolSlot for convenience.

	* birnetutilsxx.hh, birnetutilsxx.cc: implemented class
	Deletable::DestructionHook which allowes hooking up (thread safe) of
	callbacks into the destruction phase of a Deletable.

	* tests/signal.cc: added tests for signal connections on temporary
	objects that trigger Deletable destruction hooks.

	* tests/threads.cc: test statically declared recursive mutextes and
	conditions in C.

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].


Modified:
   trunk/birnet/ChangeLog
   trunk/birnet/birnetmsg.cc
   trunk/birnet/birnetsignal.hh
   trunk/birnet/birnetsignaltemplate.hh
   trunk/birnet/birnetutils.cc
   trunk/birnet/tests/sorting.cc
   trunk/birnet/tests/strings.cc
   trunk/birnet/tests/threads.cc

Modified: trunk/birnet/birnetmsg.cc
==============================================================================
--- trunk/birnet/birnetmsg.cc	(original)
+++ trunk/birnet/birnetmsg.cc	Thu Jun 12 10:36:40 2008
@@ -19,6 +19,7 @@
 #include "birnetthread.hh"
 #include <syslog.h>
 #include <errno.h>
+#include <string.h>
 
 #ifndef _ // FIXME
 #define _(x)    (x)

Modified: trunk/birnet/birnetsignal.hh
==============================================================================
--- trunk/birnet/birnetsignal.hh	(original)
+++ trunk/birnet/birnetsignal.hh	Thu Jun 12 10:36:40 2008
@@ -433,7 +433,7 @@
 /* --- predefined signals --- */
 template<class Emitter>
 struct SignalFinalize : Signal0 <Emitter, void, ScopeReferenceFinalizationMark> {
-  typedef Signal0<Emitter, void, ScopeReferenceFinalizationMark> Signal0;
+  typedef Birnet::Signals::Signal0<Emitter, void, ScopeReferenceFinalizationMark> Signal0;
   explicit SignalFinalize (Emitter &emitter)                             : Signal0 (emitter) {}
   explicit SignalFinalize (Emitter &emitter, void (Emitter::*method) ()) : Signal0 (emitter, method) {}
   BIRNET_PRIVATE_CLASS_COPY (SignalFinalize);
@@ -441,7 +441,7 @@
 
 template<class Emitter>
 struct SignalVoid : Signal0 <Emitter, void> {
-  typedef Signal0<Emitter, void> Signal0;
+  typedef Birnet::Signals::Signal0<Emitter, void> Signal0;
   explicit SignalVoid (Emitter &emitter)                                 : Signal0 (emitter) {}
   explicit SignalVoid (Emitter &emitter, void (Emitter::*method) (void)) : Signal0 (emitter, method) {}
   BIRNET_PRIVATE_CLASS_COPY (SignalVoid);

Modified: trunk/birnet/birnetsignaltemplate.hh
==============================================================================
--- trunk/birnet/birnetsignaltemplate.hh	(original)
+++ trunk/birnet/birnetsignaltemplate.hh	Thu Jun 12 10:36:40 2008
@@ -163,7 +163,7 @@
 template<class Emitter, typename R0, typename A1, typename A2, typename A3, class Collector>
 struct Signal<Emitter, R0 (A1, A2, A3), Collector> : Signal3<Emitter, R0, A1, A2, A3, Collector>
 {
-  typedef Signal3<Emitter, R0, A1, A2, A3, Collector> Signal3;
+  typedef Birnet::Signals::Signal3<Emitter, R0, A1, A2, A3, Collector> Signal3;
   explicit Signal (Emitter &emitter) :
     Signal3 (emitter)
     {}

Modified: trunk/birnet/birnetutils.cc
==============================================================================
--- trunk/birnet/birnetutils.cc	(original)
+++ trunk/birnet/birnetutils.cc	Thu Jun 12 10:36:40 2008
@@ -29,6 +29,7 @@
 #include <algorithm>
 #include <cxxabi.h>
 #include <signal.h>
+#include <string.h>
 
 #ifndef _
 #define _(s)    s

Modified: trunk/birnet/tests/sorting.cc
==============================================================================
--- trunk/birnet/tests/sorting.cc	(original)
+++ trunk/birnet/tests/sorting.cc	Thu Jun 12 10:36:40 2008
@@ -17,6 +17,8 @@
 // #define TEST_VERBOSE
 #include <birnet/birnettests.h>
 #include <math.h>
+#include <stdlib.h>
+#include <algorithm>
 
 namespace {
 using namespace Birnet;

Modified: trunk/birnet/tests/strings.cc
==============================================================================
--- trunk/birnet/tests/strings.cc	(original)
+++ trunk/birnet/tests/strings.cc	Thu Jun 12 10:36:40 2008
@@ -16,6 +16,8 @@
  */
 //#define TEST_VERBOSE
 #include <birnet/birnettests.h>
+#include <stdlib.h>
+
 using namespace Birnet;
 
 namespace {

Modified: trunk/birnet/tests/threads.cc
==============================================================================
--- trunk/birnet/tests/threads.cc	(original)
+++ trunk/birnet/tests/threads.cc	Thu Jun 12 10:36:40 2008
@@ -16,6 +16,7 @@
  */
 //#define TEST_VERBOSE
 #include <birnet/birnettests.h>
+#include <stdlib.h>
 
 namespace {
 using namespace Birnet;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]