Home | History | Annotate | Download | only in Events
      1 /*
      2  * Licensed to the Apache Software Foundation (ASF) under one or more
      3  * contributor license agreements.  See the NOTICE file distributed with
      4  * this work for additional information regarding copyright ownership.
      5  * The ASF licenses this file to You under the Apache License, Version 2.0
      6  * (the "License"); you may not use this file except in compliance with
      7  * the License.  You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  *  Unless required by applicable law or agreed to in writing, software
     12  *  distributed under the License is distributed on an "AS IS" BASIS,
     13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  *
     15  *  See the License for the specific language governing permissions and
     16  *  limitations under the License.
     17  */
     18 
     19 package org.apache.harmony.jpda.tests.jdwp.Events;
     20 
     21 import org.apache.harmony.jpda.tests.share.JPDADebuggeeSynchronizer;
     22 import org.apache.harmony.jpda.tests.share.SyncDebuggee;
     23 
     24 public class MonitorWaitAndWaitedDebuggee extends SyncDebuggee {
     25 
     26     public static long TIMEOUT = 500;
     27 
     28     public void run() {
     29         MonitorWaitMockMonitor monitor = new MonitorWaitMockMonitor();
     30 
     31         // Inform debugger to prepare for testing
     32         synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_READY);
     33 
     34         // Wait until debugger complete the event request
     35         synchronizer.receiveMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE);
     36 
     37         try {
     38             synchronized (monitor) {
     39                 logWriter.println("--> Tested Thread invoke wait");
     40                 monitor.wait(TIMEOUT);
     41                 logWriter.println("--> Tested Thread invoked wait");
     42             }
     43         } catch (Throwable e) {
     44             e.printStackTrace();
     45         }
     46 
     47         logWriter.println("--> Tested Thread finished");
     48     }
     49 
     50     public static void main(String[] args) {
     51         runDebuggee(MonitorWaitAndWaitedDebuggee.class);
     52     }
     53 }
     54 
     55 class MonitorWaitMockMonitor {}