source: branches/FACT++_lidctrl_usb/dim/README_v15.txt

Last change on this file was 11071, checked in by tbretz, 13 years ago
Replaced v19r21 by a version extracted with 'unzip -a' to get proper unix text format.
File size: 8.3 KB
Line 
1
2 DIM version 15.23 Release Notes
3
4Notes 1 and 2 for Unix Users only
5NOTE 1: In order to "make" DIM two environment variables should be set:
6 OS = one of {HP-UX, AIX, OSF1, Solaris, SunOS, LynxOS, Linux}
7 DIMDIR = the path name of DIM's top level directory
8 The user should then go to DIM's top level directory and do:
9 > source .setup
10 > gmake all
11 Or, if there is no support for C++ on the machine:
12 > gmake CPP=no all
13
14NOTE 2: The Name Server (Dns), DID, servers and clients (if running in
15 background) should be started whith the output redirected to a
16 logfile ex:
17 Dns </dev/null >& dns.log &
18
19NOTE 3: The Version Number service provided by servers is now set to 1523
20 (version 15.23).
21
2217/09/2004
23Changes for version 15.0:
24 - Changes for 64 bit machine (LP64 architecture) support
25 - All DIM "tags" are now longs instead of ints this affects:
26 - Client callback parameters
27 - Server callback parameters
28 - Timer callback parameters
29 (The reason is: tags were very often user to pass pointers)
30 - DIM is now compiled with -fPIC by default on Linux
31 - The byte swapping and structure padding was fixed.
32
3314/10/2004
34Changes for version 15.1:
35 - Big Bug Fixed affecting the DIM_DNS for windows!!!!
36 - Windows has an hidden default limit of the number of sockets
37 per process set to 64, only partially though, more sockets can
38 be created with no problem but they are silently masked out
39 by the select call!
40 - Anyway this limit is now set to 1024.
41 - removed a few print statements.
42
4328/10/2004
44Changes for version 15.2:
45 - Removed some C++ style comments which did not compile on Solaris.
46
4702/11/2004
48Changes for version 15.3:
49 - Byte swapping was missing in one place when asking for stampped
50 services (noticed on Solaris)
51
5211/11/2004
53Changes for version 15.4:
54 - Added two command line options to dim_send_command:
55 dim_send_command <cmnd_name> [<data>] [-dns <dim_dns_node>] [-s]
56 -dns allows setting the dim_dns_node, and -s means silent.
57
5803/12/2004
59Changes for version 15.5:
60 - Changed the bahaviour of the DNS "KILL_SERVERS" command. Now if the
61 user declares a server exit_handler, the server will not exit (unless
62 the user code explicilty exits) and will continue running fine,
63 otherwise the server exits as before.
64 - The exit_handler now gets as parameter the error code that caused the
65 exit request (so that the user can decide wether to exit or not) or
66 the code sent by the client, if the EXIT request came from a client.
67 As a result clients should not send exit codes lower than 0x100 in order
68 not to be confused with the internal error codes.
69 - IMPORTANT NOTES:
70 - The behaviour of the user error_handler() changed. Now the
71 error_handler only gets called to report an error. If the user wants
72 to modify the automatic exit behaviour he/she has to also declare an
73 exit_handler. In previous versions if an error_handler was declared,
74 the exit_handler was not necessary.
75 - Also the Java version has changed since the ERROR codes changed.
76
7707/12/2004
78Changes for version 15.5-1:
79 - Corrected a bug in include file dis.hxx introduced in v15r5
80
8108/12/2004
82Changes for version 15.6:
83 - Included support for Scheduling policies and priorities between DIM
84 threads by creating the calls:
85 - dim_set_scheduler_class(int sched_class)
86 - dim_get_scheduler_calss(int *sched_class)
87 - dim_set_priority(int dim_thread, int priority)
88 - dim_get_priority(int dim_thread, int priority)
89
90 These calls are only implemented on Linux and Windows and they have
91 different behaviour on the two platforms:
92 - dim_set_scheduler_class(int sched_class)
93 On Windows:
94 sched_class is the process's priority class:
95 -1 = IDLE_PRIORITY_CLASS
96 0 = NORMAL_PRIORITY_CLASS
97 1 = HIGH_PRIORITY_CLASS
98 2 = REALTIME_PRIORITY_CLASS
99 On Linux:
100 sched_class is the process's schedule policy:
101 0 = SCHED_OTHER
102 1 = SCHED_FIFO
103 2 = SCHED_RR
104 All threads in the process will be set to this sched_class
105
106 - dim_set_priority(int dim_thread, int priority)
107 where dim_thread : 1 - Main thread, 2 - IO thread, 3 - Timer thread
108 On Windows:
109 priority is the thread's relative priority:
110 -3 = THREAD_PRIORITY_IDLE
111 -2 = THREAD_PRIORITY_LOWEST
112 -1 = THREAD_PRIORITY_BELOW_NORMAL
113 0 = THREAD_PRIORITY_NORMAL
114 1 = THREAD_PRIORITY_ABOVE_NORMAL
115 2 = THREAD_PRIORITY_HIGHEST
116 3 = THREAD_PRIORITY_TIME_CRITICAL
117
118 On Linux:
119 priority is the thread's absolute priority:
120 0 for SCHED_OTHER
121 1 - 99 for SCHED_FIFO or SCHED_RR
122
12303/02/2005
124Changes for version 15.7:
125 - Fixed a bug that made DIM servers crash when unplugging for a short time the
126 network cable.
127 - Linux executables and libraries are now compiled on Linux SLC3 with gcc 3.2.3
128 - Contains a new version of the DIM Tree Browser for WIndows.
129
13002/03/2005
131Changes for version 15.8:
132 - Contains again a new version of the DIM Tree Browser for WIndows, now allows
133 to display structures correctly (Thanks to Serguei Sergueev).
134 - DIM used old style predefined macros, for example linux instead of __linux__.
135 So it didn't compile when users used gcc/g++ -ansi -pedantic. Fixed.
136 - A check is now made on the length of a DIM service name. The service is
137 discarded if the name is longer then 131 characters.
138
13904/04/2005
140Changes for version 15.9:
141 - Ported to MacOSX (Darwin). "OS" has to be defined as "Darwin":
142 - Replaced ftime() by gettimeofday()
143 - Used sem_open instead of sem_init on Darwin. (sem_init not implemented).
144 - Made some order in the macro definition, so that it works whether for example
145 unix or __unix__ are defined.
146 - Sometimes when a server received a command, the connection to the client wasn't
147 completely setup yet, so DimServer::getClientName() would not return the correct
148 result - Fixed.
149
15011/04/2005
151Changes for version 15.10:
152 - Fixed a memory leak that happened in clients when sending commands to a
153 non-existing server.
154
15515/04/2005
156Changes for version 15.11:
157 - Optimized DIM for servers with many services (in particular the server library).
158 - Uses a better Hash function in Dns and servers.
159
16020/04/2005
161Changes for version 15.12:
162 - DIM did not update a service if it contained no data - fixed.
163
16422/04/2005
165Changes for version 15.13:
166 - Fixed a bug introduced in version 15.11, servers did not reconnect anymore
167 when the DNS restarted.
168
16902/05/2005
170Changes for version 15.14:
171 - Fixed several features or bugs related to the optimizations for many services:
172 - Sometimes a server declaring the same services would not exit properly
173 - If a browser was open it would slow down enourmously the start up of the
174 server
175 - A server sometimes crashed while declaring the services
176
17724/05/2005
178Changes for version 15.15:
179 - Fixed some warnings reported by "valgrind" mostly related to delete[]
180
18130/05/2005
182Changes for version 15.16:
183 - Fixed a bug related to a server name longer than 40 characters.
184
18516/06/2005
186Changes for version 15.17:
187 - Included the call keepWaiting() in DimRpcInfo. To allow multiple client
188 RPCs to use the same Server RPC (the user still has to provide an id).
189
19020/06/2005
191Changes for version 15.18:
192 - Included support for creating user threads:
193 - From "C":
194 int dim_start_thread(void (*thread_ast)(), long tag)
195 - From C++:
196 class DimThread
197 {
198 public:
199 DimThread();
200 virtual ~DimThread();
201 int start();
202 virtual void threadHandler() { };
203 };
204
20527/06/2005
206Changes for version 15.19:
207 - Added the possibility to decide not to update a service in a server callback
208 by returning a negative size (to be used with care, since the client will
209 timeout if the server stops responding for too long).
210
21115/08/2005
212Changes for version 15.20:
213 - Fixed a bug which could make a DIM server loop forever (happened to tmSrv)
214
21519/08/2005
216Changes for version 15.21:
217 - Fixed a bug in the DNS introduced in version v15r7: would not report and react
218 properly, in some ocasions, to previously declared services.
219
22005/10/2005
221Changes for version 15.22:
222 - Fixed some error messages reported by the DNS, they were not correct.
223
22404/11/2005
225Changes for version 15.23:
226 - Fixed several bugs in the timer handling mechanisms. Could provoke fake timeouts.
227
228Please check the Manual for more information at:
229 http://www.cern.ch/dim
Note: See TracBrowser for help on using the repository browser.