- extensions
...
--- a/src/JavaFinalizationRegistry.st Tue Jul 24 14:37:07 2012 +0000
+++ b/src/JavaFinalizationRegistry.st Tue Jul 24 14:58:23 2012 +0000
@@ -157,6 +157,12 @@
].
].
self grow.
+ activeReferees withIndexDo:[:value :index|
+ value isNil ifTrue:[
+ ^index
+ ].
+ ].
+ JavaVM internalError: 'No free finalization slot even after grow'.
"Created: / 24-07-2012 / 01:19:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
@@ -170,7 +176,10 @@
grow
- self shouldImplement.
+ | newActiveReferees |
+ newActiveReferees := Array new: activeReferees size * 2.
+ newActiveReferees replaceFrom: 1 with: activeReferees.
+ activeReferees := newActiveReferees
"Created: / 24-07-2012 / 01:20:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
--- a/src/JavaVM.st Tue Jul 24 14:37:07 2012 +0000
+++ b/src/JavaVM.st Tue Jul 24 14:58:23 2012 +0000
@@ -4438,8 +4438,10 @@
retry := false.
[ stream := aBlock value ] on:OpenError do:[:ex|
(ex errorCode) == (OperatingSystem errorNumberFor:#EMFILE) ifTrue:[
+ "Worst case, try to cleanup"
[
FinalizationLobby finalizeNow.
+ Delay waitForSeconds: 5. "/Give Java finalization thread a chance to clean up
ObjectMemory garbageCollect.
retry := true.
] on: Error do:[:ex|
--- a/src/libjava.rc Tue Jul 24 14:37:07 2012 +0000
+++ b/src/libjava.rc Tue Jul 24 14:58:23 2012 +0000
@@ -25,7 +25,7 @@
VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\nCopyright Jan Vrany, Jan Kurs and Marcel Hlopko\b SWING Research Group, Czech Technical University In Prague\0"
VALUE "ProductName", "Smalltalk/X\0"
VALUE "ProductVersion", "6.2.1.1\0"
- VALUE "ProductDate", "Tue, 24 Jul 2012 14:41:08 GMT\0"
+ VALUE "ProductDate", "Tue, 24 Jul 2012 15:03:06 GMT\0"
END
END