Sat Sep 1 12:09:32 EEST 2007 Pekka Riikonen * Rewrote parts of the SILC Atomic API to not use volatile members in structures but to handle the memory accesses volatily, the right way to do it. Affected file is lib/silcutil/silcatomic.h. * Added silc_timer_tick and silc_timer_synchronize functions to SILC Timer API. Affected files are lib/silcutil/silctimer.[ch] and silctimer_i.h. * Use clock_gettime in place of gettimeofday, if it is available. Affected files are configure.ad and lib/silcutil/unix/silcunixutil.c. * Added silc_offsetof, silc_likely and silc_unlikely to public API. Added silc_attribute compiler specific definition. Affected file is lib/silcutil/silctypes.h. * Added silc_prefetch and silc_prefetch_block functions that provide routines for prefetching data to CPU cache. Affected file is lib/silcutil/silctypes.h. * Added --with-alignment for specifying default memory alignment used in the compiled code. Currently only SilcStack respects this value. Affected files are lib/configure.ad, lib/silcutil/silcstack_i.h and includes/silc.h.in. Tue Aug 7 21:00:00 EEST 2007 Pekka Riikonen * Fixed alignment issues on 64-bit CPUs. Affected files are lib/silcutil/silcschedule.c and unix/silcunixschedule.c. Sat Aug 4 19:09:14 EEST 2007 Pekka Riikonen * Added assembler optimized versions of SILC_[GET|PUT]XX_MSB macros, and SILC_SWAB_XX macros. Added new functions silc_rol, silc_ror, silc_rol64 and silc_ror64, all of which have assembler optimizations also. Affected file is lib/silcutil/silctypes.h. Thu Jul 26 18:13:59 EEST 2007 Pekka Riikonen * Changed thread pool call queues thread specific and changed queues to be consumed in last-in-first-out order. These are optimizations to the thread pool. Affected file is lib/silcutil/silcthread.c. Wed Jul 25 19:32:41 EEST 2007 Pekka Riikonen * Added silc_mime_assembler_purge to lib/silcutil/silcmime.[ch] to purge unfinished fragments from MIME assembler. Sat Jul 21 14:47:28 EEST 2007 Pekka Riikonen * Added silc_data2hex and silc_hex2data to lib/silcutil/silcutil.[ch]. Thu Jul 19 17:07:02 EEST 2007 Pekka Riikonen * Added silc_buffer_strchr to lib/silcutil/silcbuffer.h. Tue Jul 17 20:10:41 EEST 2007 Pekka Riikonen * Added silc_hexdump to lib/silcutil/silcutil.[ch]. Fri Jul 13 23:01:45 EEST 2007 Pekka Riikonen * Added SILC_GET32_X_MSB macro to lib/silcutil/silctypes.h. Wed Jul 11 17:10:11 EEST 2007 Pekka Riikonen * Added SILC Timer API to lib/silcutil/silctimer.[ch], silctimer_i.h, tests/test_silctimer.c. Tue Jul 10 20:02:04 EEST 2007 Pekka Riikonen * Added queue entry free list to thread pool instead of allocating new entry everytime new entry is needed. Affected file is lib/silcutil/silcthread.c. Mon Jul 9 20:21:13 EEST 2007 Pekka Riikonen * Changed thread pool completion callback to SilcTaskCallback so that it can be given directly to destination scheduler. Affected files are lib/silcutil/silcthread.[ch]. Sun Jul 8 20:20:22 EEST 2007 Pekka Riikonen * Moved Base64 routines to lib/silcutil/silcbase64.[ch]. Added SilcStack support to the API. * Inherit the lock from parent in SilcStack child. If child doesn't find stack blocks, check from parent. Added silc_stack_purge. Affected file is lib/silcutil/silcstack.c. Wed Jul 4 20:20:05 EEST 2007 Pekka Riikonen * Unified the SILC_STR_FUNC callback. Affected files are lib/silcutil/silcbuffmt.[ch]. * Added SilcStack support to SILC File Util API. Affected files are lib/silcutil/silcfileutil.[ch]. * Added SilcStack support to SILC FD Stream API. Affected files are lib/silcutil/silcfdstream.[ch]. * Added SilcStack support to SILC Scheduler API. The scheduler now creates stack always. It can be retrieved by silc_schedule_get_stack. Affected files are lib/silcutil/silcschedule.[ch], silcschedule_i.h. * Added SilcStack child creation and use multi-thread support. Added OOM handler, silc_stack_set_oom_handler. Affected files are lib/silcutil/silcstack.[ch]. Tue Jul 3 22:45:56 EEST 2007 Pekka Riikonen * Added concept of child stacks to SilcStack, allowing to create true memory pools using SilcStack. It is now possible to create childs from the parent, without consuming the parent's memory. The child's memory is returned back to parent when it is freed. Affected files are lib/silcutil/silcstack.[ch], silcstack_i.h. Tue Jul 3 18:17:54 EEST 2007 Pekka Riikonen * Added SILC DLL API for loading and using shared objects and DLLs. Affected files are lib/silcutil/sildll.[ch]. Added also test program lib/silcutil/tests/test_silcdll.c. * Added SILC Environment manipulation API to lib/silcutil/silcenv.[ch] and test program to lib/silcutil/tests/test_silcenv.c. * Renamed silc_hash_table_replace to silc_hash_table_set. Added SilcStack support to SilcHashTable. Affected files are lib/silcutil/silchashtable.[ch]. * Added SilcStack support to SilcDList. Added new function silc_dlist_sinit. Affected file is lib/silcutil/silcdlist.h. Mon Jul 2 21:07:34 EEST 2007 Pekka Riikonen * Removed unaligned memory allocation from SilcStack. Moved silc_stack_malloc and silc_stack_realloc to public API from private API. Added silc_stack_[set|get]_alignment that is used to get/set memory alignment with SilcStack. Affected files are lib/silcutil/silcstack.[ch], silcstack_i.h. * Added silc_sfree to lib/silcutil/silcmemory.[ch]. * Removed silc_smalloc_ua and silc_srealloc_ua. Affected files are lib/silcutil/silcmemory.[ch]. Mon Jul 2 17:13:51 EEST 2007 Pekka Riikonen * Added SILC Thread Pool API to lib/silcutil/silcthread.[ch], and test program in lib/silcutil/tests/test_silcthread.c. ----------------------------------------------------------------------------- For older changes please see the CHANGES file from the CVS tree.