src/java.corba/share/classes/com/sun/corba/se/impl/corba/RequestImpl.java

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


 238 
 239     public synchronized void add_exception(TypeCode exceptionType)
 240     {
 241         _exceptions.add(exceptionType);
 242     }
 243 
 244     public synchronized void invoke()
 245     {
 246         doInvocation();
 247     }
 248 
 249     public synchronized void send_oneway()
 250     {
 251         _isOneWay = true;
 252         doInvocation();
 253     }
 254 
 255     public synchronized void send_deferred()
 256     {
 257         AsynchInvoke invokeObject = new AsynchInvoke(_orb, this, false);
 258         new sun.misc.ManagedLocalsThread(invokeObject).start();
 259     }
 260 
 261     public synchronized boolean poll_response()
 262     {
 263         // this method has to be synchronized even though it seems
 264         // "readonly" since the thread object doing the asynchronous
 265         // invocation can potentially update this variable in parallel.
 266         // updates are currently simply synchronized againt the request
 267         // object.
 268         return gotResponse;
 269     }
 270 
 271     public synchronized void get_response()
 272         throws org.omg.CORBA.WrongTransaction
 273     {
 274         while (gotResponse == false) {
 275             // release the lock. wait to be notified by the thread that is
 276             // doing the asynchronous invocation.
 277             try {
 278                 wait();




 238 
 239     public synchronized void add_exception(TypeCode exceptionType)
 240     {
 241         _exceptions.add(exceptionType);
 242     }
 243 
 244     public synchronized void invoke()
 245     {
 246         doInvocation();
 247     }
 248 
 249     public synchronized void send_oneway()
 250     {
 251         _isOneWay = true;
 252         doInvocation();
 253     }
 254 
 255     public synchronized void send_deferred()
 256     {
 257         AsynchInvoke invokeObject = new AsynchInvoke(_orb, this, false);
 258         new Thread(null, invokeObject, "Async-Request-Thread", 0, false).start();
 259     }
 260 
 261     public synchronized boolean poll_response()
 262     {
 263         // this method has to be synchronized even though it seems
 264         // "readonly" since the thread object doing the asynchronous
 265         // invocation can potentially update this variable in parallel.
 266         // updates are currently simply synchronized againt the request
 267         // object.
 268         return gotResponse;
 269     }
 270 
 271     public synchronized void get_response()
 272         throws org.omg.CORBA.WrongTransaction
 273     {
 274         while (gotResponse == false) {
 275             // release the lock. wait to be notified by the thread that is
 276             // doing the asynchronous invocation.
 277             try {
 278                 wait();