Ignore:
Timestamp:
Jun 17, 2011 1:14:51 PM (13 years ago)
Author:
ldelgass
Message:

Delete Tcl interpreter and NULL out global pointers before exit to appease
valgrind. The Tcl interpreter namespace teardown still contains some reachable
blocks on exit due to an unmatched Tcl_Preserve, but I'm not sure how to solve
that.

Location:
trunk/packages/vizservers/vtkvis
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/vtkvis/RpVtkRenderServer.cpp

    r2260 r2278  
    193193    }
    194194
     195    exitTcl(interp);
     196    interp = NULL;
     197
    195198    delete g_renderer;
     199    g_renderer = NULL;
    196200
    197201    TRACE("Exiting VTKVis Server");
  • trunk/packages/vizservers/vtkvis/RpVtkRendererCmd.cpp

    r2269 r2278  
    22422242    return interp;
    22432243}
     2244
     2245/**
     2246 * \brief Delete Tcl commands and interpreter
     2247 *
     2248 */
     2249void Rappture::VtkVis::exitTcl(Tcl_Interp *interp)
     2250{
     2251
     2252    Tcl_DeleteCommand(interp, "axis");
     2253    Tcl_DeleteCommand(interp, "camera");
     2254    Tcl_DeleteCommand(interp, "colormap");
     2255    Tcl_DeleteCommand(interp, "contour2d");
     2256    Tcl_DeleteCommand(interp, "dataset");
     2257    Tcl_DeleteCommand(interp, "glyphs");
     2258    Tcl_DeleteCommand(interp, "heightmap");
     2259    Tcl_DeleteCommand(interp, "legend");
     2260    Tcl_DeleteCommand(interp, "polydata");
     2261    Tcl_DeleteCommand(interp, "pseudocolor");
     2262    Tcl_DeleteCommand(interp, "screen");
     2263    Tcl_DeleteCommand(interp, "volume");
     2264
     2265    Tcl_DeleteInterp(interp);
     2266}
  • trunk/packages/vizservers/vtkvis/RpVtkRendererCmd.h

    r2100 r2278  
    1717extern int processCommands(Tcl_Interp *interp, FILE *fin, FILE *fout);
    1818extern Tcl_Interp *initTcl();
     19extern void exitTcl(Tcl_Interp *interp);
    1920
    2021}
Note: See TracChangeset for help on using the changeset viewer.