From 36d6fbd32bcc6f9132f11ea0e49b7fa4c438751b Mon Sep 17 00:00:00 2001 From: yamuna Date: Mon, 15 Sep 2003 15:20:17 +0000 Subject: ChangelogTag: Mon Sep 15 11:16:51 2003 Yamuna Krishnamurthy --- TAO/ChangeLog | 8 ++++++++ TAO/tao/RTScheduling/Request_Interceptor.cpp | 22 +++++++++++++++------- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 94d1c3bbdf4..3bb2cebbf2a 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,11 @@ +Mon Sep 15 11:16:51 2003 Yamuna Krishnamurthy + + * tao/RTScheduling/Request_Interceptor.cpp : + + In send_reply when the DT is cancelled the method should return + and not continue as it used to before. Also corrected the + updation of previous current in TSS. + Mon Sep 15 07:05:31 2003 Chad Elliott * tao/RTCORBA/RTCORBA.mpc: diff --git a/TAO/tao/RTScheduling/Request_Interceptor.cpp b/TAO/tao/RTScheduling/Request_Interceptor.cpp index 906b6495ce8..8cb6f399c98 100644 --- a/TAO/tao/RTScheduling/Request_Interceptor.cpp +++ b/TAO/tao/RTScheduling/Request_Interceptor.cpp @@ -131,7 +131,7 @@ Client_Interceptor::send_poll (PortableInterceptor::ClientRequestInfo_ptr ri current = ACE_static_cast (TAO_RTScheduler_Current_i *, tss->rtscheduler_current_impl_); if (current != 0) - current->scheduler ()->receive_reply (ri); + current->scheduler ()->send_poll (ri); } @@ -405,7 +405,19 @@ Server_Interceptor::send_reply (PortableInterceptor::ServerRequestInfo_ptr ri current->cancel_thread (ACE_ENV_SINGLE_ARG_PARAMETER); ACE_CHECK; + return; } + else ACE_DEBUG ((LM_DEBUG, + "Thread Not Cancelled\n")); + + + // Inform scheduler that upcall is complete. + current->scheduler ()->send_reply (ri + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + current->cleanup_DT (); + current->cleanup_current (); // Get the previous current if any. prev_current = ACE_static_cast (TAO_RTScheduler_Current_i *, @@ -417,13 +429,9 @@ Server_Interceptor::send_reply (PortableInterceptor::ServerRequestInfo_ptr ri // Reset the previous current pointer. tss->rtscheduler_previous_current_impl_ = 0; - // Inform scheduler that upcall is complete. - current->scheduler ()->send_reply (ri); - - current->cleanup_DT (); - current->cleanup_current (); - } + else ACE_DEBUG ((LM_DEBUG, + "Send Reply Current is 0\n")); } void -- cgit v1.2.1