re PR libgcj/18699 (SIGSEGV in GC_local_gcj_malloc)
2004-12-01 Bryce McKinlay <mckinlay@redhat.com> PR libgcj/18699 * testsuite/libjava.lang/PR18699.java, testsuite/libjava.lang/PR18699.out: New test. From-SVN: r91573
This commit is contained in:
parent
b923517634
commit
28a6dfca3d
3 changed files with 42 additions and 0 deletions
36
libjava/testsuite/libjava.lang/PR18699.java
Normal file
36
libjava/testsuite/libjava.lang/PR18699.java
Normal file
|
@ -0,0 +1,36 @@
|
|||
// Test for thread-local allocation problems.
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Observable;
|
||||
import java.util.Observer;
|
||||
|
||||
class PR18699 extends Observable implements Runnable, Observer {
|
||||
|
||||
public static void main(String[] args) throws InterruptedException {
|
||||
PR18699 PR18699_1 = new PR18699();
|
||||
PR18699 PR18699_2 = new PR18699();
|
||||
PR18699_1.addObserver(PR18699_2);
|
||||
PR18699_2.addObserver(PR18699_1);
|
||||
new Thread(PR18699_1).start();
|
||||
new Thread(PR18699_2).start();
|
||||
}
|
||||
|
||||
public void run() {
|
||||
int c = 0;
|
||||
String s = "";
|
||||
while (++c < 50) {
|
||||
this.setChanged();
|
||||
s = "";
|
||||
for (int i = 0; i < 200; i++)
|
||||
s += String.valueOf(i);
|
||||
this.notifyObservers(s);
|
||||
}
|
||||
}
|
||||
|
||||
HashMap map = new HashMap();
|
||||
|
||||
public void update(Observable o, Object obj)
|
||||
{
|
||||
map.put(o, obj);
|
||||
}
|
||||
}
|
0
libjava/testsuite/libjava.lang/PR18699.out
Normal file
0
libjava/testsuite/libjava.lang/PR18699.out
Normal file
Loading…
Add table
Add a link
Reference in a new issue