Unidata / LDM

The Unidata Local Data Manager (LDM) system includes network client and server programs designed for event-driven data distribution, and is the fundamental component of the Unidata Internet Data Distribution (IDD) system.
http://www.unidata.ucar.edu/software/ldm
Other
43 stars 27 forks source link

Eliminate use of exitIfDone() #11

Open semmerson opened 11 years ago

semmerson commented 11 years ago

The use of exitIfDone() should be eliminated because 1) it complicates thinking about the flow-of-control because it's, basically, a "goto"; and 2) it prevents resources (particularly malloc()ed ones) from being reclaimed -- thus, complicating the use of valgrind(1).

Functions that use exitIfDone() will have to be modified to return an appropriate status to their calling function. All functions in the calling-sequence will have to be modified to unwind the sequence -- freeing resources as it's unwound.