14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * Portions Copyright (c) 2011 IBM Corporation
26 */
27
28 /*
29 * @test
30 * @bug 6597112
31 * @summary GC'ing objects whilst being exported to RMI should not cause exceptions
32 * @author Neil Richards <neil.richards@ngmr.net>, <neil_richards@uk.ibm.com>
33 * @run main/othervm GcDuringExport
34 */
35
36 import java.rmi.Remote;
37 import java.rmi.server.UnicastRemoteObject;
38
39 public class GcDuringExport {
40 private static final long MAX_EXPORT_ITERATIONS = 50000;
41
42 public static void main(String[] args) throws Exception {
43 Thread gcInducingThread = new Thread() {
44 public void run() {
45 while (true) {
46 System.gc();
47 try { Thread.sleep(1); } catch (InterruptedException e) { }
48 }
49 }
50 };
51 gcInducingThread.setDaemon(true);
52 gcInducingThread.start();
53
|
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * Portions Copyright (c) 2011 IBM Corporation
26 */
27
28 /*
29 * @test
30 * @bug 6597112
31 * @summary GC'ing objects whilst being exported to RMI should not cause exceptions
32 * @author Neil Richards <neil.richards@ngmr.net>, <neil_richards@uk.ibm.com>
33 * @run main/othervm GcDuringExport
34 * @key intermittent
35 */
36
37 import java.rmi.Remote;
38 import java.rmi.server.UnicastRemoteObject;
39
40 public class GcDuringExport {
41 private static final long MAX_EXPORT_ITERATIONS = 50000;
42
43 public static void main(String[] args) throws Exception {
44 Thread gcInducingThread = new Thread() {
45 public void run() {
46 while (true) {
47 System.gc();
48 try { Thread.sleep(1); } catch (InterruptedException e) { }
49 }
50 }
51 };
52 gcInducingThread.setDaemon(true);
53 gcInducingThread.start();
54
|