Changes between Version 4 and Version 5 of v4.1


Ignore:
Timestamp:
01/17/12 15:53:42 (8 years ago)
Author:
branden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • v4.1

    v4 v5  
    1 [[PageOutline]] 
    2 = Earthworm Release Notes V4.1 = 
     1{{{ 
     2Earthworm Release Notes V4.1 
    33 
    44(January 20, 2000) 
    5  
    6 == NEW MODULES == 
    7  
    8 === sac2hypo === 
    9  
    10 This program works only under Solaris. It reads the headers of all the SAC files in the current directory and creates a Hypoinverse archive file. This archive file can be used to relocate the event. This program was written some time ago by someone else (I presume Lynn Dietz). It has now been made into an earthworm utility program. LV 8/12/1999 
    11  
    12 === tide2ew === 
    13  
    14 This program works only under NT. It listens to serial line communication from the pucks which collect tide data. It connects to a COM port (given the serial communication parameters from the config file) and asks each puck for its   reading every !WaitTime seconds. After !NumSamples for an SCN have been collected, a new TYPE_TRACEBUF message is created and written to the !OutRing stamped with the SCN code given in the configuration file. Besides creating earthworm messages, this module can write tide readings to the screen and to files. The format of the output files is taken from ATWC.  This program is part of the ATWC contributed software.   LV 8/2/1999 
    15  
    16 === fir === 
    17  
    18 This module implements a general-purpose FIR filter for trace data. Low-pass, high-pass, multi-band-pass and notch filters can be specified using simple commands in the configuration file. Filter coefficients are computed using the Remez Exchange algorithm to give an optimal equiripple filter. The filter zeroes are logged on startup. Using the "!TestMode" command in the config file, the module will compute coefficients, log the zeroes and then quit. Uses many of the components in the revised decimate module.   PNL 10/27/1999  
    19  
    20 === wave_serverV/Tools === 
    21  
    22 Three tools: inspect_tank, read_index and read_struct. These three tools are to help with problems in wave_serverV tank, index and structure files. These are primarily for development work. PNL, 1/12/2000 
    23  
    24 === ring2sac === 
    25  
    26 Writes continuous sac files given a list of Station, Component, Network names.  This software is contributed by University of Utah Seismograph Station.   
    27  
    28  
    29 == MODIFICATIONS/BUG FIXES TO EXISTING MODULES == 
    30  
    31 === compress_UA/decompress_UA === 
    32  
    33 Renamed compression/decompression routines supplied by Boulder Real Time Technologies to brtt_gencompress and brtt_genuncompress. By suggestion from Kent Lindquist -- apparently the official releases of these routines are part of the Antelope software, so using their generic names causes compilation problems whenever Antelope libraries have to be linked in. LV 12/27/1999 
    34  
    35 === trig2disk/waveman2disk === 
    36  
    37  * Modified the sac putaway routine to enable correct creation of SAC files on NT. Since there are (I think) no SAC tools for NT, the !OutputFormat should be set to sparc. Care should be taken when transferring files between NT and Solaris (ASCII mode in ftp works best). LV 12/20/1999.  
    38  * Modified to correctly create PCSUDS format files under NT. 
    39  
    40 === carlsubtrig === 
    41  
    42 Added the "!MaxTrigMsgLen" command to set the size of the buffer used to write TYPE_TRIGLIST2K messages to.  This buffer is allocated at startup (previously, a minimal buffer was allocated on startup, then was realloc'd in 1024 byte increments as necessary). If a triglist message would overflow this buffer, carlsubtrig will stop writing to the buffer, but will continue to write the complete triglist message to its log. It will also send this error message to statmgr:  "incomplete triglist msg sent for eventid:%d". Also, if the event triggered enough subnets such that a wildcard would be added to the triglist message, the wildcard is now written at the beginning of the message instead of the end (just in case that big triglist message would overflow the buffer, the wildcard will always be included!).  LDD 8/6/1999 
    43  
    44 === export_generic/ export_scn === 
    45  
    46 Fixed a memory leak in export.c.  Previously, each thread allocated its own working buffer(s).  But when export did a internal restart, it would kill the threads, never freeing the memory. The threads would be restarted, malloc another working buffer...  Enough internal restarts and export would suck up all available memory.  Changed so that all working buffers are allocated in the main thread, before any other threads are started.  All buffers are freed when the program exits.  LDD 9/7/1999   
    47  
    48 === decimate === 
    49  
    50 Major revision. Decimate is now a multi-stage filter-decimator. The filter coefficients are computed based on the decimation rate, using the Remez Exchange algorithm. Since each channel requires several buffers to be allocated at startup, channels must be explicitly listed in the config file (no wildcards.) Thus it didn't seem convenient to keep Lucky's cool rewrite rules: Now output SCNs get listed explicitly with the input SCNs. PNL 10/18/1999 
    51  
    52 === read_arc.c (part of libsrc/util) === 
    53  
    54  * Corrected the reading for coda length (was reading the raw coda; now reads the eqcoda-corrected coda) and added the reading of coda weight.  
    55  * Added codawt to Hpck structure in read_arc.h. PNL, 10/20/1999 Added reading of preferred magnitude fields from the summary line. Added labelpref,Mpref,wtpref to the Hsum structure in read_arc.h. LDD 11/08/1999 
    56  
    57 === wave_serverV === 
    58  
    59 Removed "fix4_3.3" from the default target of the makefile. No one should need this program any more; it was only for converting tank structures from an old format to a new one provided by v3.3. PNL, 10/28/1999 
    60  
    61 === getmenu === 
    62  
    63 Fixed bug that prevented hostname lookup from working on NT. The problem was that !SocketSysInit() was not being called before the hostname lookup occurred. Now you can give getmenu a hostname or and IP address (followed by ":portnumber") on NT as well as Unix.  PNL, 11/19/1999 
    64  
    65 === export === 
    66  
    67 It was such that if the connection to import broke while a message was being sent, that that message would be lost. Fix is to save the message until it was sent ok (as per socket return value), and re-send the message after closing and re-opening the connection. Alex 11/20/99 
    68  
    69 === arc2trig === 
    70  
    71 Added two optional parameters: 
    72  * !PrePickTime (default=15) 
    73  * !PostCodaTime (default=10) 
    74 which specify how much data to save preceding the p-pick, and following coda cutoff. Alex 11/24/99 
    75  
    76 === statmgr === 
    77  
    78 Changed logit message about "Descriptor file of statmgr not loaded". This error is also generated when the EW_INSTALLATION environment variable doesn't match instId in statmgr.desc. PNL, 11/24/99 
    79  
    80 === heli_standalone === 
    81  
    82 Changed GIF file names so they would be the same on local and (optional) remote machines, as well as in the HTML file. HTML file will now list separate GIFs when less than 24 hours is plotted on one GIF. Fixed bug that caused core-dumps when socket debugging was turned on. Added optional command to name the HTML file.  PNL, 11/29/99 
    83  
    84 === carlstatrig ===  
    85  
    86 Added LTAtime as a configurable parameter, as requested by Tom Murray. Previously this was hardwired to 8 seconds. This is an optional parameter, defaults to 8 seconds. PNL, 1/10/00 
    87  
    88 === hyp2000 === 
    89  
    90  * New version grabbed from Fred Klein 1/11/00.  
    91  * Fixes a bug which had caused a core dump or crash with an error about writing to unit 5.  Symptom was known to occur on startup when a crustal velocity model file (CRH command) contained a blank line at the end.  Now hyp2000 writes an error message an exits.  
    92  * Also fixes bugs that are related to shadow cards. Used to write Pmag information to summary shadow whether the mag was being calculated or not, and wrote Pmag info to phase shadows sometimes when not necessary.  
    93  * Also has a new command, FIL, which determines the format of the input file set with the PHS command.  It discriminates between hypo71 phase, *.cod and *.arc files (with and without shadow cards, both old and y2000 formats).  It also warns you if you are reading a pre-y2000 file in y2000 mode, and vice versa.  It sets the correct formats with the COP and CAR commands.  The FIL code also senses the 4 different summary formats and tells you what the file is, but of course warns you that you should not be trying to locate a summary file.  The FIL command should be useful interactively, but it is not necessary for real-time use.  LDD, 1/11/00 
    94  
    95 === hyp2000_mgr === 
    96  
    97 Edited makefiles to work with the newest version of hyp2000 (new command in new source file).  LDD, 1/11/00 
    98  
    99 === socket_ew_common.c (in libsrc/utils) === 
    100  
    101 accept_ew now sets the new socket to nonblocking mode as required for sockets used by socket_ew_common; previously it was assumed that this property was inherited from the original socket. Most functions now properly react to select() errors; previously they were ignored. Most function comments have been updated to be more meaningful. Fixed bug in accept_ew where it would close the old socket if no connection was accepted without the timeout interval. PNL, 1/12/2000 
    102  
    103 === export: (scn and generic) === 
    104  
    105  * Export no longer quits when !SocketTimeoutLength is less than !RcvAliveInt; now it sets !SocketTimeoutLength to 1500 times !RcvAliveInt and logs it. (!RcvAliveInt is in seconds, !SocketTimeoutLength is in milliseconds.) Removed some unneeded if's from binEscape() to improve efficiency. Moved start of !MessageStacker to after successful accept_ew call, to reduce number of lapped messages in queue. Removed flush of internal queue. Export now uses a timeout for the accept_ew call. The interval is the internal heartbeat interval, so statmgr doesn't complain when export isn't connected. If a connection is not made in the timeout interval, export sends a complaint but otherwise keeps listening and beating its heart. When a connection is made, export sends a "connected" message only if it complained earlier. This adds two new error messages to the descriptor file.  
    106  * When export has a problem sending or receiving, it kills the socket threads, closes and reopens the socket and tries another connection.  
    107  * The !MessageStacker does not get killed in the recycling.  
    108  * Fixed a bug where !BinSize was not being set to zero after a message was successfully sent. This bug resulted in one message being resent when the !SocketSender restarted. PNL 1/13/2000 
    109  
    110 === wave_serverV === 
    111  
    112 Added optional parameter "!ClientTimeout", used in serverThread. When no traffic is heard from a connected client in this timeout interval, the socket is closed and the serverThread exits. Previously, wave_serverV.d stated that this was the function of !SocketTimeout, which it was not. Fixed bug in shutdown sequence where !KillThread was being called with uninitialized values. Sometimes this would kill the main thread, aborting the shutdown sequence. This may have been the cause of Menlo's wave_serverV hanging on shutdown. Cleaned up settings of !ServerThreadInfo.Status in server_thread.c and wave_serverV.h. Small change to index_util.c to add some detail to logit error entry in !BuildLIndex(). Reformatted comments at head of wave_serverV to make them easier to read.  PNL, 1/12/2000 
    113  
    114 === rcv_ew and vdl_ew === 
    115  
    116 Both modules have been updated to the newest version of rcv and vdl from Dave Ketchum.  BB 1/16/2000 
    117  
    118 == CHANGES TO CONFIGURATION FILES and DESCRIPTOR FILES == 
    119  
    120 === carlsubtrig.d === 
    121  
    122 Added "!MaxTrigMsgLen nbytes" command to control the size of the output buffer. 
    123  
    124 === carlstatrig.d === 
    125     
    126 Added "LTAtime" command to set nominal time of LTA average. This is an optional parameter, defaults to 8 seconds. 
    127  
    128 === carlsubtrig.desc === 
    129  
    130 Added a new error code for the case when the triglist message would overflow the output buffer:  
    131 {{{ 
    132 err: 23  nerr: 1  tsec: 0  page: 10  mail: 20  
    133 text: "Incomplete triglist message sent." 
     5NEW MODULES: 
     6*********** 
     7 
     8sac2hypo:  This program works only under Solaris. It reads the headers 
     9   of all the SAC files in the current directory and creates a  
     10   Hypoinverse archive file. This archive file can be used to relocate  
     11   the event. This program was written some time ago by someone else  
     12   (I presume Lynn Dietz). It has now been made into an earthworm 
     13   utility program.   LV 8/12/1999 
     14 
     15tide2ew:  This program works only under NT. It listens to 
     16   serial line communication from the pucks which collect tide 
     17   data. It connects to a COM port (given the serial communication 
     18   parameters from the config file) and asks each puck for its 
     19   reading every WaitTime seconds. After NumSamples for an SCN 
     20   have been collected, a new TYPE_TRACEBUF message is created 
     21   and written to the OutRing stamped with the SCN code given 
     22   in the configuration file. 
     23   Besides creating earthworm messages, this module can write 
     24   tide readings to the screen and to files. The format of the 
     25   output files is taken from ATWC.  This program is part of the  
     26   ATWC contributed software.   LV 8/2/1999 
     27 
     28fir: This module implements a general-purpose FIR filter for 
     29   trace data. Low-pass, high-pass, multi-band-pass and notch filters 
     30   can be specified using simple commands in the configuration file. 
     31   Filter coefficients are computed using the Remez Exchange  
     32   algorithm to give an optimal equiripple filter. The filter 
     33   zeroes are logged on startup. Using the "TestMode" command in 
     34   the config file, the module will compute coefficients, log the 
     35   zeroes and then quit. Uses many of the components in the revised 
     36   decimate module.   PNL 10/27/1999  
     37 
     38wave_serverV/Tools: Three tools: inspect_tank, read_index and read_struct. 
     39   These three tools are to help with problems in wave_serverV tank, 
     40   index and structure files. These are primarily for development work. 
     41   PNL, 1/12/2000 
     42 
     43ring2sac: Writes continuous sac files given a list of Station, Component, 
     44   Network names.  This software is contributed by University of Utah  
     45   Seismograph Station.   
     46 
     47 
     48MODIFICATIONS/BUG FIXES TO EXISTING MODULES: 
     49******************************************* 
     50 
     51compress_UA/decompress_UA:  Renamed compression/decompression  
     52   routines supplied by Boulder Real Time Technologies to  
     53   brtt_gencompress and brtt_genuncompress. By suggestion from  
     54   Kent Lindquist -- apparently the official releases of these 
     55   routines are part of the Antelope software, so using their 
     56   generic names causes compilation problems whenever Antelope 
     57   libraries have to be linked in. LV 12/27/1999 
     58 
     59trig2disk/waveman2disk:  Modified the sac putaway routine to  
     60   enable correct creation of SAC files on NT. Since there are 
     61   (I think) no SAC tools for NT, the OutputFormat should be set 
     62   to sparc. Care should be taken when transferring files between 
     63   NT and Solaris (ASCII mode in ftp works best). LV 12/20/1999. 
     64   Modified to correctly create PCSUDS format files under NT. 
     65 
     66carlsubtrig:  Added the "MaxTrigMsgLen" command to set the size of the 
     67   buffer used to write TYPE_TRIGLIST2K messages to.  This buffer is 
     68   allocated at startup (previously, a minimal buffer was allocated 
     69   on startup, then was realloc'd in 1024 byte increments as necessary). 
     70   If a triglist message would overflow this buffer, carlsubtrig will 
     71   stop writing to the buffer, but will continue to write the complete 
     72   triglist message to its log. It will also send this error message 
     73   to statmgr:  "incomplete triglist msg sent for eventid:%d". 
     74   Also, if the event triggered enough subnets such that a wildcard 
     75   would be added to the triglist message, the wildcard is now written 
     76   at the beginning of the message instead of the end (just in case 
     77   that big triglist message would overflow the buffer, the wildcard 
     78   will always be included!).  LDD 8/6/1999 
     79 
     80export_generic 
     81export_scn    :  Fixed a memory leak in export.c.  Previously, each 
     82   thread allocated its own working buffer(s).  But when export did a 
     83   internal restart, it would kill the threads, never freeing 
     84   the memory. The threads would be restarted, malloc another working 
     85   buffer...  Enough internal restarts and export would suck up all 
     86   available memory.  Changed so that all working buffers are allocated 
     87   in the main thread, before any other threads are started.  All 
     88   buffers are freed when the program exits.  LDD 9/7/1999   
     89 
     90decimate:  Major revision. Decimate is now a multi-stage filter-decimator. 
     91   The filter coefficients are computed based on the decimation rate, using 
     92   the Remez Exchange algorithm. Since each channel requires several buffers 
     93   to be allocated at startup, channels must be explicitly listed in the 
     94   config file (no wildcards.) Thus it didn't seem convenient to keep Lucky's 
     95   cool rewrite rules: Now output SCNs get listed explicitly with the input 
     96   SCNs. PNL 10/18/1999 
     97 
     98read_arc.c: (part of libsrc/util) Corrected the reading for coda length (was reading  
     99   the raw coda; now reads the eqcoda-corrected coda) and added the reading of 
     100   coda weight. Added codawt to Hpck structure in read_arc.h. PNL, 10/20/1999 
     101     Added reading of preferred magnitude fields from the summary line. 
     102   Added labelpref,Mpref,wtpref to the Hsum structure in read_arc.h. LDD 11/08/1999 
     103 
     104wave_serverV: Removed "fix4_3.3" from the default target of the makefile.  
     105   No one should need this program any more; it was only for converting tank  
     106   structures from an old format to a new one provided by v3.3.  
     107   PNL, 10/28/1999 
     108 
     109getmenu: Fixed bug that prevented hostname lookup from working on NT. The 
     110   problem was that SocketSysInit() was not being called before the 
     111   hostname lookup occurred. Now you can give getmenu a hostname or and 
     112   IP address (followed by ":portnumber") on NT as well as Unix. 
     113   PNL, 11/19/1999 
     114 
     115export: It was such that if the connection to import broke while a 
     116   message was being sent, that that message would be lost. Fix is 
     117   to save the message until it was sent ok (as per socket return value), 
     118   and re-send the message after closing and re-opening the connection. 
     119   Alex 11/20/99 
     120 
     121arc2trig: Added two optional parameters: 
     122         PrePickTime (default=15) 
     123         PostCodaTime (default=10) 
     124   which specify how much data to save preceding the p-pick, and  
     125   following 
     126   coda cutoff. 
     127   Alex 11/24/99 
     128 
     129statmgr: Changed logit message about "Descriptor file of statmgr not loaded". 
     130   This error is also generated when the EW_INSTALLATION environment variable 
     131   doesn't match instId in statmgr.desc. PNL, 11/24/99 
     132 
     133heli_standalone: Changed GIF file names so they would be the same on local 
     134   and (optional) remote machines, as well as in the HTML file. HTML file 
     135   will now list separate GIFs when less than 24 hours is plotted on one 
     136   GIF. Fixed bug that caused core-dumps when socket debugging was turned on. 
     137   Added optional command to name the HTML file.  PNL, 11/29/99 
     138 
     139carlstatrig: Added LTAtime as a configurable parameter, as requested by 
     140   Tom Murray. Previously this was hardwired to 8 seconds. This is an 
     141   optional parameter, defaults to 8 seconds. PNL, 1/10/00 
     142 
     143hyp2000: New version grabbed from Fred Klein 1/11/00. 
     144     Fixes a bug which had caused a core dump or crash with an error about 
     145   writing to unit 5.  Symptom was known to occur on startup when a 
     146   crustal velocity model file (CRH command) contained a blank line at  
     147   the end.  Now hyp2000 writes an error message an exits. 
     148     Also fixes bugs that are related to shadow cards. Used to write Pmag 
     149   information to summary shadow whether the mag was being calculated or 
     150   not, and wrote Pmag info to phase shadows sometimes when not necessary. 
     151     Also has a new command, FIL, which determines the format of the  
     152   input file set with the PHS command.  It discriminates between hypo71  
     153   phase, *.cod and *.arc files (with and without shadow cards, both old  
     154   and y2000 formats).  It also warns you if you are reading a pre-y2000 
     155   file in y2000 mode, and vice versa.  It sets the correct formats with  
     156   the COP and CAR commands.  The FIL code also senses the 4 different  
     157   summary formats and tells you what the file is, but of course warns you  
     158   that you should not be trying to locate a summary file.  The FIL command 
     159   should be useful interactively, but it is not necessary for real-time 
     160   use.  LDD, 1/11/00 
     161 
     162hyp2000_mgr: Edited makefiles to work with the newest version of  
     163   hyp2000 (new command in new source file).  LDD, 1/11/00 
     164 
     165socket_ew_common.c (in libsrc/utils): accept_ew now sets the new socket 
     166   to nonblocking mode as required for sockets used by socket_ew_common; 
     167   previously it was assumed that this property was inherited from the 
     168   original socket. Most functions now properly react to select() errors; 
     169   previously they were ignored. Most function comments have been updated 
     170   to be more meaningful. Fixed bug in accept_ew where it would close the 
     171   old socket if no connection was accepted without the timeout interval. 
     172   PNL, 1/12/2000 
     173 
     174export: (scn and generic) Export no longer quits when SocketTimeoutLength 
     175   is less than RcvAliveInt; now it sets SocketTimeoutLength to 1500 times 
     176   RcvAliveInt and logs it. (RcvAliveInt is in seconds, SocketTimeoutLength 
     177   is in milliseconds.) Removed some unneeded if's from binEscape() to  
     178   improve efficiency. Moved start of MessageStacker to after successful 
     179   accept_ew call, to reduce number of lapped messages in queue. Removed 
     180   flush of internal queue. Export now uses a timeout for the accept_ew 
     181   call. The interval is the internal heartbeat interval, so statmgr doesn't 
     182   complain when export isn't connected. If a connection is not made in  
     183   the timeout interval, export sends a complaint but otherwise keeps 
     184   listening and beating its heart. When a connection is made, export 
     185   sends a "connected" message only if it complained earlier. This adds 
     186   two new error messages to the descriptor file.  
     187   When export has a problem sending or receiving, it kills the socket 
     188   threads, closes and reopens the socket and tries another connection. 
     189   The MessageStacker does not get killed in the recycling. 
     190   Fixed a bug where BinSize was not being set to zero after a message 
     191   was successfully sent. This bug resulted in one message being resent 
     192   when the SocketSender restarted. PNL 1/13/2000 
     193 
     194wave_serverV: Added optional parameter "ClientTimeout", used in 
     195   serverThread. When no traffic is heard from a connected client in 
     196   this timeout interval, the socket is closed and the serverThread exits. 
     197   Previously, wave_serverV.d stated that this was the function of 
     198   SocketTimeout, which it was not. Fixed bug in shutdown sequence 
     199   where KillThread was being called with uninitialized values. Sometimes 
     200   this would kill the main thread, aborting the shutdown sequence. This 
     201   may have been the cause of Menlo's wave_serverV hanging on shutdown. 
     202   Cleaned up settings of ServverThreadInfo.Status in server_thread.c 
     203   and wave_serverV.h. Small change to index_util.c to add some detail 
     204   to logit error entry in BuildLIndex(). Reformatted comments at head of 
     205   wave_serverV to make them easier to read.  PNL, 1/12/2000 
     206 
     207rcv_ew and vdl_ew:  Both modules have been updated to the newest version of  
     208   rcv and vdl from Dave Ketchum.  BB 1/16/2000 
     209 
     210 
     211CHANGES TO CONFIGURATION FILES and DESCRIPTOR FILES: 
     212****************************************************  
     213carlsubtrig.d: Added "MaxTrigMsgLen nbytes" command to control the size 
     214   of the output buffer. 
     215 
     216carlstatrig.d: 
     217   Added "LTAtime" command to set nominal time of LTA average. This is an 
     218   optional parameter, defaults to 8 seconds. 
     219 
     220carlsubtrig.desc:  Added a new error code for the case when the triglist 
     221   message would overflow the output buffer: 
     222    err: 23  nerr: 1  tsec: 0  page: 10  mail: 20 
     223    text: "Incomplete triglist message sent." 
     224 
     225adsend.desc: Added a new error code: 
     226    err: 7  nerr: 1  tsec: 0  page: 0  mail: 10 
     227    text: "Fewer samples were obtained than requested." 
     228 
     229decimate.d and decimate.desc: Several new commands due to the extensive 
     230    changes in the module. 
     231 
     232heli_standalone: Added optional command to name the HTML file; default name 
     233is "index.html". Added description of optional "Target" command to conf file. 
     234This option was always available, but left out of the working config file. 
     235 
     236export_*.desc: two new error messages to report slow connections. 
     237 
     238wave_serverV.d: optional command ClientTimeout; corrected comments for 
     239  SocketTimeout 
     240 
     241KNOWN BUGS or DEFICIENCIES: 
     242************************** 
     243In Windows NT, the time resolution of sleep_ew() is about 16 msec (one clock 
     244tick).  On Solaris, the resolution is about 10 msec.  This is a problem for  
     245ringtocoax, since packet delays need to be set to a few milliseconds. 
     246 
     247Automatic restarts of adsend (using the "restartMe" line in the descriptor 
     248file) can cause an NT system to hang. Therefore, you should never 
     249use the autorestart feature with adsend, but you should bring down 
     250the entire Earthworm system if adsend needs to be restarted. 
     251 
     252carlsubtrig: Occasionally (once every few months in Menlo Park), the 
     253event id gets reset to zero.  This smacks of a memory clobber, but we 
     254haven't tracked it down yet. This has been observed in v4.0 carlsubtrig 
     255on x86 Solaris. LDD 9/28/1999 
     256 
     257threads functions: The KillThread function on WindowsNT and Solaris 
     258terminate the thread without ensuring that no mutexes are held. If a thread 
     259holds a mutex when it dies, no other thread can get that mutex. PNL 1/12/2000 
     260 
     261The Solaris version of SendMail calls popen to invoke the Mail program. 
     262If the mail program can't be found, Solaris prints the message: 
     263               sh: /usr/ucb/Mail: not found 
     264The SendMail function returns 0 (no error), instead of -1 (error), so the 
     265calling program can't tell that an error occurred.   
    134266}}} 
    135  
    136 === adsend.desc === 
    137  
    138 Added a new error code: 
    139 {{{ 
    140 err: 7  nerr: 1  tsec: 0  page: 0  mail: 10 
    141 text: "Fewer samples were obtained than requested." 
    142 }}} 
    143  
    144 === decimate.d and decimate.desc === 
    145  
    146 Several new commands due to the extensive changes in the module. 
    147  
    148 === heli_standalone === 
    149  
    150 Added optional command to name the HTML file; default name is "index.html". Added description of optional "Target" command to conf file. This option was always available, but left out of the working config file. 
    151  
    152 === export_*.desc === 
    153  
    154 two new error messages to report slow connections. 
    155  
    156 === wave_serverV.d === 
    157  
    158 optional command !ClientTimeout; corrected comments for !SocketTimeout 
    159  
    160 == KNOWN BUGS or DEFICIENCIES == 
    161  
    162  * In Windows NT, the time resolution of sleep_ew() is about 16 msec (one clock tick).  On Solaris, the resolution is about 10 msec.  This is a problem for ringtocoax, since packet delays need to be set to a few milliseconds. 
    163  * Automatic restarts of adsend (using the "restartMe" line in the descriptor file) can cause an NT system to hang. Therefore, you should never use the autorestart feature with adsend, but you should bring down the entire Earthworm system if adsend needs to be restarted. 
    164  * carlsubtrig: Occasionally (once every few months in Menlo Park), the event id gets reset to zero.  This smacks of a memory clobber, but we haven't tracked it down yet. This has been observed in v4.0 carlsubtrig on x86 Solaris. LDD 9/28/1 * 999 
    165  * threads functions: The !KillThread function on WindowsNT and Solaris terminate the thread without ensuring that no mutexes are held. If a thread holds a mutex when it dies, no other thread can get that mutex. PNL 1/12/2000 
    166  * The Solaris version of !SendMail calls popen to invoke the Mail program. If the mail program can't be found, Solaris prints the message: 
    167 {{{ 
    168 sh: /usr/ucb/Mail: not found 
    169 }}} 
    170  * The !SendMail function returns 0 (no error), instead of -1 (error), so the calling program can't tell that an error occurred.