src/java.corba/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java

Print this page
rev 757 : 8148863: Remove sun.misc.ManagedLocalsThread from corba
Reviewed-by: alanb, coffeys


 674     }
 675 
 676     /**
 677      * Send multiple dynamic requests asynchronously.
 678      *
 679      * @param req         an array of request objects.
 680      */
 681     public synchronized void send_multiple_requests_deferred(Request[] req)
 682     {
 683         checkShutdownState();
 684 
 685         // add the new Requests to pending dynamic Requests
 686         for (int i = 0; i < req.length; i++) {
 687             dynamicRequests.addElement(req[i]);
 688         }
 689 
 690         // Invoke the send_deferred on each new Request
 691         for (int i = 0; i < req.length; i++) {
 692             AsynchInvoke invokeObject = new AsynchInvoke( this,
 693                 (com.sun.corba.se.impl.corba.RequestImpl)req[i], true);
 694             new sun.misc.ManagedLocalsThread(invokeObject).start();
 695         }
 696     }
 697 
 698     /**
 699      * Find out if any of the deferred invocations have a response yet.
 700      */
 701     public synchronized boolean poll_next_response()
 702     {
 703         checkShutdownState();
 704 
 705         Request currRequest;
 706 
 707         // poll on each pending request
 708         Enumeration ve = dynamicRequests.elements();
 709         while (ve.hasMoreElements() == true) {
 710             currRequest = (Request)ve.nextElement();
 711             if (currRequest.poll_response() == true) {
 712                 return true;
 713             }
 714         }




 674     }
 675 
 676     /**
 677      * Send multiple dynamic requests asynchronously.
 678      *
 679      * @param req         an array of request objects.
 680      */
 681     public synchronized void send_multiple_requests_deferred(Request[] req)
 682     {
 683         checkShutdownState();
 684 
 685         // add the new Requests to pending dynamic Requests
 686         for (int i = 0; i < req.length; i++) {
 687             dynamicRequests.addElement(req[i]);
 688         }
 689 
 690         // Invoke the send_deferred on each new Request
 691         for (int i = 0; i < req.length; i++) {
 692             AsynchInvoke invokeObject = new AsynchInvoke( this,
 693                 (com.sun.corba.se.impl.corba.RequestImpl)req[i], true);
 694             new Thread(null, invokeObject, "ORB-Request-Thread", 0, false).start();
 695         }
 696     }
 697 
 698     /**
 699      * Find out if any of the deferred invocations have a response yet.
 700      */
 701     public synchronized boolean poll_next_response()
 702     {
 703         checkShutdownState();
 704 
 705         Request currRequest;
 706 
 707         // poll on each pending request
 708         Enumeration ve = dynamicRequests.elements();
 709         while (ve.hasMoreElements() == true) {
 710             currRequest = (Request)ve.nextElement();
 711             if (currRequest.poll_response() == true) {
 712                 return true;
 713             }
 714         }