silc_stack_alloc automatically aligns the stack size.
[silc.git] / CHANGES.RUNTIME
1 Tue Dec 25 18:44:27 EET 2007  Pekka Riikonen <priikone@silcnet.org>
2
3         * silc_stack_alloc now automatically aligns the requested
4           stack size.  Affected files are lib/silcutil/silcstack.[ch].
5
6 Tue Dec 25 13:53:07 EET 2007  Pekka Riikonen <priikone@silcnet.org>
7
8         * Added silc_getopt to lib/silcutil/silcgetopt.[ch].
9
10 Sat Dec 22 19:55:28 EET 2007  Pekka Riikonen <priikone@silcnet.org>
11
12         * Added SILC errno API to lib/silcutil/silcerrno.[ch].  Added
13           SilcResult, generic error code and return value type.  Added
14           global silc_errno that returns last error in that thread.
15
16         * Deprecated SilcSocketStreamStatus, SilcResult replaces it.
17           Backwards support remains.  Affected files are
18           lib/silcutil/silcsocketstream.[ch].
19
20         * Deprecated SilcNetStatus, SilcResult replaces it.  Backwards
21           support remains.  Affected files are lib/silcutil/silcnet.[ch].
22
23         * Added errno setting to almost all Runtime Tooolkit routines
24           in error conditions.
25
26 Sun Dec 16 16:18:04 EET 2007  Pekka Riikonen <priikone@silcnet.org>
27
28         * Added SILC Bit Operations API to lib/silcutil/silcbitops.[ch].
29
30 Sat Dec 15 19:59:53 EET 2007  Pekka Riikonen <priikone@silcnet.org>
31
32         * Added SILC Tls API for Thread-local storage in
33           lib/silcutil/silcthread.[ch].  Added all platform specific
34           implementations.  Added SilcTls structure to 
35           lib/silcutil/silcthread_i.h that is now in all threads' Tls.
36
37 Thu Dec 13 17:37:21 EET 2007  Pekka Riikonen <priikone@silcnet.org>
38
39         * Clear the locked flag before unlocking mutex, not after.
40           Affected files are lib/silcutil/unix/silcunixthread.c and
41           lib/silcutil/symbian/silcsymbianthread.c.
42
43         * Fixed thread pool locking dealing with thread stopping to
44           prevent deadlocks and crashes.  Affected file is 
45           lib/silcutil/silcthread.c.
46
47 Tue Nov  6 17:09:42 EET 2007  Pekka Riikonen <priikone@silcnet.org>
48
49         * Added '%@' formatting to silc_snprintf and variants.  It
50           can be used to render data and structures.  Affected files
51           are lib/silcutil/silcsnprintf.[ch].
52
53 Sat Oct 27 18:12:40 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
54
55         * Added silc_net_tcp_create_listener2.  Affected files are
56           lib/silcutil/silcnet.h and platform specific implementation.
57
58 Sat Sep  1 12:09:32 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
59
60         * Rewrote parts of the SILC Atomic API to not use volatile
61           members in structures but to handle the memory accesses
62           volatily, the right way to do it.  Affected file is
63           lib/silcutil/silcatomic.h.
64
65         * Added silc_timer_tick and silc_timer_synchronize functions
66           to SILC Timer API.  Affected files are 
67           lib/silcutil/silctimer.[ch] and silctimer_i.h.
68
69         * Use clock_gettime in place of gettimeofday, if it is
70           available.  Affected files are configure.ad and
71           lib/silcutil/unix/silcunixutil.c.
72
73         * Added silc_offsetof, silc_likely and silc_unlikely to public
74           API.  Added silc_attribute compiler specific definition.
75           Affected file is lib/silcutil/silctypes.h.
76
77         * Added silc_prefetch and silc_prefetch_block functions that
78           provide routines for prefetching data to CPU cache.  Affected
79           file is lib/silcutil/silctypes.h.
80
81         * Added --with-alignment for specifying default memory alignment
82           used in the compiled code.  Currently only SilcStack respects
83           this value.  Affected files are lib/configure.ad,
84           lib/silcutil/silcstack_i.h and includes/silc.h.in.
85
86 Tue Aug  7 21:00:00 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
87
88         * Fixed alignment issues on 64-bit CPUs.  Affected files are
89           lib/silcutil/silcschedule.c and unix/silcunixschedule.c.
90
91 Sat Aug  4 19:09:14 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
92
93         * Added assembler optimized versions of SILC_[GET|PUT]XX_MSB
94           macros, and SILC_SWAB_XX macros.  Added new functions
95           silc_rol, silc_ror, silc_rol64 and silc_ror64, all of which
96           have assembler optimizations also.  Affected file is
97           lib/silcutil/silctypes.h.
98
99 Thu Jul 26 18:13:59 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
100
101         * Changed thread pool call queues thread specific and changed
102           queues to be consumed in last-in-first-out order.  These
103           are optimizations to the thread pool.  Affected file is
104           lib/silcutil/silcthread.c.
105
106 Wed Jul 25 19:32:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
107
108         * Added silc_mime_assembler_purge to lib/silcutil/silcmime.[ch]
109           to purge unfinished fragments from MIME assembler.
110
111 Sat Jul 21 14:47:28 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
112
113         * Added silc_data2hex and silc_hex2data to
114           lib/silcutil/silcutil.[ch].
115
116 Thu Jul 19 17:07:02 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
117
118         * Added silc_buffer_strchr to lib/silcutil/silcbuffer.h.
119
120 Tue Jul 17 20:10:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
121
122         * Added silc_hexdump to lib/silcutil/silcutil.[ch].
123
124 Fri Jul 13 23:01:45 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
125
126         * Added SILC_GET32_X_MSB macro to lib/silcutil/silctypes.h.
127
128 Wed Jul 11 17:10:11 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
129
130         * Added SILC Timer API to lib/silcutil/silctimer.[ch],
131           silctimer_i.h, tests/test_silctimer.c.
132
133 Tue Jul 10 20:02:04 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
134
135         * Added queue entry free list to thread pool instead of
136           allocating new entry everytime new entry is needed.  Affected
137           file is lib/silcutil/silcthread.c.
138
139 Mon Jul  9 20:21:13 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
140
141         * Changed thread pool completion callback to SilcTaskCallback so
142           that it can be given directly to destination scheduler.
143           Affected files are lib/silcutil/silcthread.[ch].
144
145 Sun Jul  8 20:20:22 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
146
147         * Moved Base64 routines to lib/silcutil/silcbase64.[ch].  Added
148           SilcStack support to the API.
149
150         * Inherit the lock from parent in SilcStack child.  If child
151           doesn't find stack blocks, check from parent.  Added
152           silc_stack_purge.  Affected file is lib/silcutil/silcstack.c.
153
154 Wed Jul  4 20:20:05 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
155
156         * Unified the SILC_STR_FUNC callback.  Affected files are
157           lib/silcutil/silcbuffmt.[ch].
158
159         * Added SilcStack support to SILC File Util API.  Affected files
160           are lib/silcutil/silcfileutil.[ch].
161
162         * Added SilcStack support to SILC FD Stream API.  Affected files
163           are lib/silcutil/silcfdstream.[ch].
164
165         * Added SilcStack support to SILC Scheduler API.  The scheduler
166           now creates stack always.  It can be retrieved by
167           silc_schedule_get_stack.  Affected files are
168           lib/silcutil/silcschedule.[ch], silcschedule_i.h.
169
170         * Added SilcStack child creation and use multi-thread support.
171           Added OOM handler, silc_stack_set_oom_handler.  Affected
172           files are lib/silcutil/silcstack.[ch].
173
174 Tue Jul  3 22:45:56 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
175
176         * Added concept of child stacks to SilcStack, allowing to create
177           true memory pools using SilcStack.  It is now possible to
178           create childs from the parent, without consuming the parent's
179           memory.  The child's memory is returned back to parent when
180           it is freed.  Affected files are lib/silcutil/silcstack.[ch],
181           silcstack_i.h.
182
183 Tue Jul  3 18:17:54 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
184
185         * Added SILC DLL API for loading and using shared objects and
186           DLLs.  Affected files are lib/silcutil/sildll.[ch].  Added
187           also test program lib/silcutil/tests/test_silcdll.c.
188
189         * Added SILC Environment manipulation API to
190           lib/silcutil/silcenv.[ch] and test program to
191           lib/silcutil/tests/test_silcenv.c.
192
193         * Renamed silc_hash_table_replace to silc_hash_table_set.
194           Added SilcStack support to SilcHashTable.  Affected files are
195           lib/silcutil/silchashtable.[ch].
196
197         * Added SilcStack support to SilcDList.  Added new function
198           silc_dlist_sinit.  Affected file is lib/silcutil/silcdlist.h.
199
200 Mon Jul  2 21:07:34 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
201
202         * Removed unaligned memory allocation from SilcStack.  Moved
203           silc_stack_malloc and silc_stack_realloc to public API from
204           private API.  Added silc_stack_[set|get]_alignment that is
205           used to get/set memory alignment with SilcStack.  Affected
206           files are lib/silcutil/silcstack.[ch], silcstack_i.h.
207
208         * Added silc_sfree to lib/silcutil/silcmemory.[ch].
209
210         * Removed silc_smalloc_ua and silc_srealloc_ua.  Affected files
211           are lib/silcutil/silcmemory.[ch].
212
213 Mon Jul  2 17:13:51 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
214
215         * Added SILC Thread Pool API to lib/silcutil/silcthread.[ch],
216           and test program in lib/silcutil/tests/test_silcthread.c.
217
218 -----------------------------------------------------------------------------
219
220 For older changes please see the CHANGES file from the CVS tree.