Changeset 5626
- Timestamp:
- 10/29/09 16:57:02 (4 weeks ago)
- Files:
-
- 1 modified
-
mpich2/trunk/src/binding/cxx/buildiface (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
mpich2/trunk/src/binding/cxx/buildiface
r5253 r5626 2529 2529 void Comm::Call_errhandler( int errorcode ) const 2530 2530 { 2531 if (Get_errhandler() == ERRORS_THROW_EXCEPTIONS) { 2531 // we must free the Errhandler object returned from Get_errhandler because 2532 // Get_errhandler adds a reference (the MPI Standard says as though a new 2533 // object were created) 2534 Errhandler current = Get_errhandler(); 2535 if (current == ERRORS_THROW_EXCEPTIONS) { 2536 current.Free(); 2532 2537 throw Exception(errorcode); // throw by value, catch by reference 2538 } 2539 else { 2540 current.Free(); 2533 2541 } 2534 2542 MPIX_CALL( MPI_Comm_call_errhandler( (MPI_Comm) the_real_comm, errorcode )); … … 2537 2545 void Win::Call_errhandler( int errorcode ) const 2538 2546 { 2539 if (Get_errhandler() == ERRORS_THROW_EXCEPTIONS) { 2547 // we must free the Errhandler object returned from Get_errhandler because 2548 // Get_errhandler adds a reference (the MPI Standard says as though a new 2549 // object were created) 2550 Errhandler current = Get_errhandler(); 2551 if (current == ERRORS_THROW_EXCEPTIONS) { 2552 current.Free(); 2540 2553 throw Exception(errorcode); // throw by value, catch by reference 2554 } 2555 else { 2556 current.Free(); 2541 2557 } 2542 2558 MPIX_CALL( MPI_Win_call_errhandler( (MPI_Win) the_real_win, errorcode )); … … 2546 2562 void File::Call_errhandler( int errorcode ) const 2547 2563 { 2548 if (Get_errhandler() == ERRORS_THROW_EXCEPTIONS) { 2564 // we must free the Errhandler object returned from Get_errhandler because 2565 // Get_errhandler adds a reference (the MPI Standard says as though a new 2566 // object were created) 2567 Errhandler current = Get_errhandler(); 2568 if (current == ERRORS_THROW_EXCEPTIONS) { 2569 current.Free(); 2549 2570 throw Exception(errorcode); // throw by value, catch by reference 2571 } 2572 else { 2573 current.Free(); 2550 2574 } 2551 2575 MPIX_CALL( MPI_File_call_errhandler( (MPI_File) the_real_file, errorcode ));
