Changeset 5622

Show
Ignore:
Timestamp:
10/29/09 16:56:55 (4 weeks ago)
Author:
goodell
Message:

Fix errhandler leaks in fileerrret, fileerrretx, and userioerr tests.

Reviewed by robl@.

Location:
mpich2/trunk/test/mpi
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • mpich2/trunk/test/mpi/errors/cxx/io/fileerrretx.cxx

    r100 r5622  
    6767    eh = MPI::File::Create_errhandler( efn ); 
    6868    MPI::FILE_NULL.Set_errhandler( eh ); 
     69    eh.Free(); 
    6970    sawErr = 0; 
    7071    try { 
  • mpich2/trunk/test/mpi/errors/io/fileerrret.c

    r4822 r5622  
    4747    MPI_File_create_errhandler( efn, &eh ); 
    4848    MPI_File_set_errhandler( MPI_FILE_NULL, eh ); 
     49    MPI_Errhandler_free(&eh); 
    4950 
    5051    rc = MPI_File_open(MPI_COMM_WORLD, filename,  
  • mpich2/trunk/test/mpi/io/userioerr.c

    r100 r5622  
    4949 
    5050    rc = MPI_File_create_errhandler( user_handler, &ioerr_handler ); 
     51    if (rc) { 
     52        errs++; 
     53        printf("MPI_Errhandler_create returned an error code: %d\n"); 
     54    } 
     55 
    5156    rc = MPI_File_set_errhandler( fh, ioerr_handler ); 
     57    if (rc) { 
     58        errs++; 
     59        printf("MPI_File_set_errhandler returned an error code: %d\n"); 
     60    } 
     61 
     62    /* avoid leaking the errhandler, safe because they have refcount semantics */ 
     63    rc = MPI_Errhandler_free(&ioerr_handler); 
     64    if (rc) { 
     65        errs++; 
     66        printf("MPI_Errhandler_free returned an error code: %d\n"); 
     67    } 
    5268 
    5369    /* This should generate an error because the file mode is WRONLY */ 
     
    5874    } 
    5975 
    60     MPI_File_close( &fh ); 
    61      
     76    rc = MPI_File_close( &fh ); 
     77    if (rc) { 
     78        errs++; 
     79        printf("MPI_File_close returned an error code: %d\n"); 
     80    } 
     81 
    6282    MTest_Finalize( errs ); 
    6383    MPI_Finalize( );