corda/src
Joel Dice 2e86f0ac57 fix race condition leading to deadlock on exit
There is a delay between when we tell the OS to start a thread and
when it actually starts, and during that time a thread might
mistakenly think it was the last to exit, try to shut down the VM, and
then block in joinAll when it finds it wasn't the last one after all.

The solution is to increment Machine::liveCount and add the new thread
to the process tree before starting it -- all while holding
Machine::stateLock for atomicity.  This helps guarantee that when
liveCount is one, we can be sure there's really only one thread
running or staged to run.
2010-12-20 19:00:23 -07:00
..
binaryToObject update copyright years 2010-12-05 20:21:09 -07:00
openjdk fix windows cross openjdk-src build 2010-12-01 20:05:22 -07:00
allocator.h Merge branch 'master' into powerpc 2008-11-11 08:21:48 -07:00
arch.h update copyright years 2010-12-05 20:21:09 -07:00
arm.cpp use MyBlock::start when computing constant pool offsets, not MyBlock::offset 2010-12-07 18:17:41 -07:00
arm.h update gprIndex when switching to stack-based argument passing 2010-12-10 14:01:22 -07:00
arm.S update copyright years 2010-12-05 20:21:09 -07:00
assembler.h fix return address code offset calculation on ARM 2010-12-07 15:57:11 -07:00
boot-javahome.cpp add boot-javahome.cpp 2010-12-05 18:04:25 -07:00
boot.cpp use "no-underscore" naming convention for 64-bit Windows 2010-12-20 12:11:29 -07:00
bootimage.cpp fix assertion abort when generating boot image 2010-12-09 21:09:48 -07:00
bootimage.h update copyright years 2010-12-05 20:21:09 -07:00
builtin.cpp avoid inifinite recursion if java.lang.Object is missing; refactoring 2010-12-09 19:38:12 -07:00
classpath-avian.cpp avoid inifinite recursion if java.lang.Object is missing; refactoring 2010-12-09 19:38:12 -07:00
classpath-common.h avoid inifinite recursion if java.lang.Object is missing; refactoring 2010-12-09 19:38:12 -07:00
classpath-openjdk.cpp fix GC safety bugs 2010-12-09 22:17:57 -07:00
common.h update copyright years 2010-12-05 20:21:09 -07:00
compile-arm.S clear Thread::stack before vmInvoke_safeStack in compile-arm.S 2010-12-15 10:41:18 -07:00
compile-powerpc.S update copyright years 2010-12-05 20:21:09 -07:00
compile-x86.S use "no-underscore" naming convention for 64-bit Windows 2010-12-20 12:11:29 -07:00
compile.cpp avoid inifinite recursion if java.lang.Object is missing; refactoring 2010-12-09 19:38:12 -07:00
compiler.cpp fix 64-bit constant comparisons on 32-bit platforms 2010-12-20 18:08:52 -07:00
compiler.h update copyright years 2010-12-05 20:21:09 -07:00
constants.h prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
continuations-x86.S update copyright years 2010-12-05 20:21:09 -07:00
finder.cpp update copyright years 2010-12-05 20:21:09 -07:00
finder.h add support for accessing embedded JARs as if they were directories 2010-11-05 13:18:28 -06:00
heap.cpp update copyright years 2010-12-05 20:21:09 -07:00
heap.h update copyright years 2010-12-05 20:21:09 -07:00
heapdump.cpp update copyright years 2010-12-05 20:21:09 -07:00
heapwalk.cpp fix bootimage=true build for Windows 2009-12-02 20:08:07 -07:00
heapwalk.h update makefile to optionally build and use a boot image; various bugfixes 2008-11-29 16:08:14 -07:00
interpret.cpp avoid inifinite recursion if java.lang.Object is missing; refactoring 2010-12-09 19:38:12 -07:00
jnienv.cpp avoid inifinite recursion if java.lang.Object is missing; refactoring 2010-12-09 19:38:12 -07:00
jnienv.h prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
machine.cpp fix race condition leading to deadlock on exit 2010-12-20 19:00:23 -07:00
machine.h fix race condition leading to deadlock on exit 2010-12-20 19:00:23 -07:00
main.cpp update copyright years 2010-12-05 20:21:09 -07:00
posix.cpp update copyright years 2010-12-05 20:21:09 -07:00
powerpc.cpp fix return address code offset calculation on ARM 2010-12-07 15:57:11 -07:00
powerpc.h update copyright years 2010-12-05 20:21:09 -07:00
powerpc.S progress towards powerpc continuation and tail call support 2009-05-26 19:02:39 -06:00
process.cpp avoid inifinite recursion if java.lang.Object is missing; refactoring 2010-12-09 19:38:12 -07:00
process.h update copyright years 2010-12-05 20:21:09 -07:00
processor.h update copyright years 2010-12-05 20:21:09 -07:00
stream.h update copyright years 2009-12-02 19:08:29 -07:00
system.h update copyright years 2010-12-05 20:21:09 -07:00
thunks.cpp fix PowerPC build 2010-12-03 13:42:13 -07:00
tokenizer.h rework OpenJDK build to derive classpath and library path from environment 2010-09-20 17:31:23 -06:00
type-generator.cpp update copyright years 2010-12-05 20:21:09 -07:00
types.def various fixes to get Eclipse 3.6 working 2010-11-27 11:25:02 -07:00
types.h prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
util.cpp update copyright years 2010-12-05 20:21:09 -07:00
util.h update copyright years 2010-12-05 20:21:09 -07:00
vector.h update copyright years 2009-12-02 19:08:29 -07:00
windows.cpp update copyright years 2010-12-05 20:21:09 -07:00
x86.cpp fix return address code offset calculation on ARM 2010-12-07 15:57:11 -07:00
x86.h update copyright years 2010-12-05 20:21:09 -07:00
x86.S use "no-underscore" naming convention for 64-bit Windows 2010-12-20 12:11:29 -07:00
zlib-custom.h Files to add Deflater and DeflaterOutputStream to java.util.zip for 2009-12-04 12:01:31 -07:00
zone.h simplify memory allocation interfaces 2008-04-13 12:15:04 -06:00