DIM version 11.7 Release Notes Notes 1 and 2 for Unix Users only NOTE 1: In order to "make" DIM two environment variables should be set: OS = one of {HP-UX, AIX, OSF1, Solaris, SunOS, LynxOS, Linux} DIMDIR = the path name of DIM's top level directory The user should then go to DIM's top level directory and do: > source .setup > gmake all Or, if there is no support for C++ on the machine: > gmake CPP=no all NOTE 2: The Name Server (Dns), DID, servers and clients (if running in background) should be started whith the output redirected to a logfile ex: Dns & dns.log & NOTE 3: The Version Number service provided by servers is now set to 1107 (version 11.07). 23/8/2002 Changes for version 11.0: - Made Did (Solaris and Linux) run single threaded (to fix some strange behaviour of Motif) - Created an "util" directory under "src". To keep DIM utilities. Modified all makefiles and Visual Studio accordingly 08/9/2002 Changes for version 11.1: - Fixed dnsExists on Solaris. Now dtq.c uses select instead of usleep (usleep is not thread safe). 12/9/2002 Changes for version 11.2: - dim_send_command and dim_get_service utilities where hanging on windows - fixed. 22/10/2002 Changes for version 11.3: - Replaced usleep by select in Did (linux), it was creating a deadlock with signals. (Did is not multithreaded because of Motif) - Fixed two bugs in Dns - one is a design flaw, it was creating too many timer entries unnecessarily and using a lot of CPU (just to update did). The second happened when a server tried to declare an existing service. The Dns correctly tried to kill the server, but if the server didn't die than the Dns would keep the connection busy instead of disconnecting it. - The feature whereby a server disconnects after a timeout from a hanging (not consuming the data from the socket) client, in order to avoid the server hanging himself, had been commented out by mistake. It's now back. 23/10/2002 Changes for version 11.4: - Related to the disconnection feature above. Replaced usleep by select (with a timeout) when writing to a client. The default timeout for a server to disconnect from a hanging client is now 5 seconds. But it can be changed (or checked) by using: - void dim_set_write_timeout(int secs) - int dim_get_write_timeout() or - DimServer::setWriteTimeout(int secs); - int DimServer::getWriteTimeout(); 31/10/2002 Changes for version 11.5: - Allowed tcpip writes to proceed in parallel with reads (in different threads) in order to avoid deadlocks (this was previously protected by a semaphore). - Removed old commented out code from all source files (Note: These changes are not included in CVS tag v11r6) 06/11/2002 Changes for version 11.6: - The Dns "forgot" to stop the test_write timer when a server went into error. Fixed. 25/11/2002 Changes for version 11.7: - Fixed some bugs in the RPC client implementation - Created (and exported) a dim_usleep() routine based on select - Implemented a dis_get_timeout(int service_id, int client_id) and a DimService::getTimeout(int client_id) which allows servers to find out the timeout requested by a client - When a server stopped serving a command using dis_remove_service the client was not informed and continued using the "cached" address instead of re-asking the name server. Fixed. Please check the Manual for more information at: http://www.cern.ch/dim