beast r4478 - in trunk/birnet: . tests
- From: stw svn gnome org
- To: svn-commits-list gnome org
- Subject: beast r4478 - in trunk/birnet: . tests
- Date: Thu, 12 Jun 2008 10:36:40 +0000 (UTC)
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]