From Brad Christiansen,
"I have made changes in two areas that effect VPBMaster's operation. The motivation for the changes come from writing a GUI front end to VPBMaster.
The first is changes to the logging behavior:
- If a master log file is set, this is now also used as the operations log. This adds more detail to the master log file (it is clearer what has happened, particularly in the case of errors).
- Fixed a bug which meant the build log was not correctly passed to the DataSet?.
The second set of changes relate to the behavior of VPBMaster when a run is finished. Prior to my changes the VPBMaster executable would not terminate if the TaskManager? had spawned any threads, even once all tasks had completed. To change this behavior so VPBMaster would exit on completion I made two changes:
- Implemented the exit(int) function in TaskManager? (it was defined in the header but had no implementation)
- Called this method prior to VPBMaster returning from main so all thread are closed and VPBMaster exits cleanly."
Second submission:
"The return value of TaskManager?'s run method was ignored by vpbmaster, thus is the task manager failed to complete all its tasks, vpbmaster would still return 0. My change to vpbmaster checks the return value of TaskManager? run and sets the return value to 1 if the run method returns false."