diff options
author | Peter Johanson <latexer@gentoo.org> | 2006-11-10 22:52:13 +0000 |
---|---|---|
committer | Peter Johanson <latexer@gentoo.org> | 2006-11-10 22:52:13 +0000 |
commit | cdaac7b1af91f8e93bcb4a44d884399e3d0f9254 (patch) | |
tree | c7f01c3f5d9ed624432da16ce5d5cbcf0730eecd /dev-lang/mono/files | |
parent | Bump to 1.2, and do some long over due house cleaning. (diff) | |
download | gentoo-2-cdaac7b1af91f8e93bcb4a44d884399e3d0f9254.tar.gz gentoo-2-cdaac7b1af91f8e93bcb4a44d884399e3d0f9254.tar.bz2 gentoo-2-cdaac7b1af91f8e93bcb4a44d884399e3d0f9254.zip |
Bump to 1.2, and do some long over due house cleaning.
(Portage version: 2.1.2_pre1-r4)
(Unsigned Manifest commit)
Diffstat (limited to 'dev-lang/mono/files')
19 files changed, 0 insertions, 415 deletions
diff --git a/dev-lang/mono/files/digest-mono-1.0.5-r5 b/dev-lang/mono/files/digest-mono-1.0.5-r5 deleted file mode 100644 index 0e400a6d560a..000000000000 --- a/dev-lang/mono/files/digest-mono-1.0.5-r5 +++ /dev/null @@ -1,6 +0,0 @@ -MD5 aa1d0acf06eb9ba8e87b5bec1b860e1b mcs-1.0.5.tar.gz 22283191 -RMD160 1d5a85a4da6d422737ab7e9c866e32bd1439440b mcs-1.0.5.tar.gz 22283191 -SHA256 0c493f3bb9ac3396926ca1cb173d6a481be4fd563907ce89df26824da1a412d2 mcs-1.0.5.tar.gz 22283191 -MD5 09c9b5e7a128e7607e79d4d35bf76f68 mono-1.0.5.tar.gz 18477749 -RMD160 7486e68adbd8f59b3c706e66c3f6edf862928d7d mono-1.0.5.tar.gz 18477749 -SHA256 7129baba97816695ec87bf5abedc34a4ffa3295e98e6b2f826cd0bb0831b599f mono-1.0.5.tar.gz 18477749 diff --git a/dev-lang/mono/files/digest-mono-1.1.12.1-r1 b/dev-lang/mono/files/digest-mono-1.1.12.1-r1 deleted file mode 100644 index ae46a65cb63d..000000000000 --- a/dev-lang/mono/files/digest-mono-1.1.12.1-r1 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 1afd911a96a0032b5d1c13656a5d0369 mono-1.1.12.1.tar.gz 17899010 -RMD160 4e008bb159549e964e4ea8937ed95d731fb6453f mono-1.1.12.1.tar.gz 17899010 -SHA256 6f2b0ba748dc2571981c7280ba9a7c9c4498c1bca872be1f5ac33015b138e3cd mono-1.1.12.1.tar.gz 17899010 diff --git a/dev-lang/mono/files/digest-mono-1.1.13.1 b/dev-lang/mono/files/digest-mono-1.1.13.1 deleted file mode 100644 index 0d79fc6a5faf..000000000000 --- a/dev-lang/mono/files/digest-mono-1.1.13.1 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 b019e29082aa49267320c3993efcc385 mono-1.1.13.1.tar.gz 17989571 -RMD160 415e958674bed0b5feb380809bcfb85e14617f97 mono-1.1.13.1.tar.gz 17989571 -SHA256 79b757e744cc19fd02ed74a51ffaca16d4b4f7124da43a845c99200c0e3868df mono-1.1.13.1.tar.gz 17989571 diff --git a/dev-lang/mono/files/digest-mono-1.1.13.2 b/dev-lang/mono/files/digest-mono-1.1.13.2 deleted file mode 100644 index b2064ee02db2..000000000000 --- a/dev-lang/mono/files/digest-mono-1.1.13.2 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 3542a83b2743b189b3422b9f40266258 mono-1.1.13.2.tar.gz 18043178 -RMD160 64ad831d21ea067146ac94ec9363f45ae365aeea mono-1.1.13.2.tar.gz 18043178 -SHA256 00cbb15edf1f7d5bfa96a9a30a564d555420a955ed7da777b786ebd362d8239c mono-1.1.13.2.tar.gz 18043178 diff --git a/dev-lang/mono/files/digest-mono-1.1.13.4 b/dev-lang/mono/files/digest-mono-1.1.13.4 deleted file mode 100644 index f9ac15b454bb..000000000000 --- a/dev-lang/mono/files/digest-mono-1.1.13.4 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 a8c58b1d0722771745c228adbb27f3c1 mono-1.1.13.4.tar.gz 18107270 -RMD160 761b3df0be4552e4d8e67f0e6cef6e7c9b3dc9b3 mono-1.1.13.4.tar.gz 18107270 -SHA256 203e4a93001207eed2463f12d024415a0f6c314eb6ba4f9835cae6eb777d4a6e mono-1.1.13.4.tar.gz 18107270 diff --git a/dev-lang/mono/files/digest-mono-1.1.13.6 b/dev-lang/mono/files/digest-mono-1.1.13.6 deleted file mode 100644 index a505efaf8648..000000000000 --- a/dev-lang/mono/files/digest-mono-1.1.13.6 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 330cc66c6a44525950daf10c4f17c10e mono-1.1.13.6.tar.gz 18217583 -RMD160 f8a07beeaf46fb873715809525157034effd4b0b mono-1.1.13.6.tar.gz 18217583 -SHA256 ec60e3b670752c3453dfe8b76af0c1a17d60e81c842b375af7d3966d84329ea6 mono-1.1.13.6.tar.gz 18217583 diff --git a/dev-lang/mono/files/digest-mono-1.1.13.8 b/dev-lang/mono/files/digest-mono-1.1.13.8 deleted file mode 100644 index 4edd894b09d2..000000000000 --- a/dev-lang/mono/files/digest-mono-1.1.13.8 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 6461a4e90d47ca5d7e224381cce627cc mono-1.1.13.8.tar.gz 17758074 -RMD160 c742a4f3302e184bd532b30fbce8e87cb99def44 mono-1.1.13.8.tar.gz 17758074 -SHA256 bc3f7317c2058a2d84d0d08193826897704544df001d9657cfa06bcc4778db32 mono-1.1.13.8.tar.gz 17758074 diff --git a/dev-lang/mono/files/digest-mono-1.1.17.1 b/dev-lang/mono/files/digest-mono-1.1.17.1 deleted file mode 100644 index b1bf82265320..000000000000 --- a/dev-lang/mono/files/digest-mono-1.1.17.1 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 072cb3de1f19cbebd6034f7a5cff1292 mono-1.1.17.1.tar.gz 19352812 -RMD160 664c46d1b81015c427177ab6a704d2bda5a3ad82 mono-1.1.17.1.tar.gz 19352812 -SHA256 abc547c45952152a4aebd3923790f651ce32c5535ea1de3aae031fba2a06b489 mono-1.1.17.1.tar.gz 19352812 diff --git a/dev-lang/mono/files/digest-mono-1.1.8.3 b/dev-lang/mono/files/digest-mono-1.1.8.3 deleted file mode 100644 index 33b2990a9feb..000000000000 --- a/dev-lang/mono/files/digest-mono-1.1.8.3 +++ /dev/null @@ -1,3 +0,0 @@ -MD5 5aefdc915cbd6ed84834692f59b92080 mono-1.1.8.3.tar.gz 15348432 -RMD160 a012252c76797c230cb9a62ee713314a44325932 mono-1.1.8.3.tar.gz 15348432 -SHA256 f0fc905d24074297402c746487d13cf53c331b20e0fcf1421cbb05cd2ca6392b mono-1.1.8.3.tar.gz 15348432 diff --git a/dev-lang/mono/files/mcs-1.0.5-pathfix.diff b/dev-lang/mono/files/mcs-1.0.5-pathfix.diff deleted file mode 100644 index fdfd271ebbc8..000000000000 --- a/dev-lang/mono/files/mcs-1.0.5-pathfix.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -aur mcs-1.0.5-orig/class/corlib/System.IO/Path.cs mcs-1.0.5/class/corlib/System.IO/Path.cs ---- mcs-1.0.5-orig/class/corlib/System.IO/Path.cs 2004-12-07 17:29:31.000000000 -0500 -+++ mcs-1.0.5/class/corlib/System.IO/Path.cs 2004-12-15 20:45:25.060090272 -0500 -@@ -386,7 +386,7 @@ - //if (root == path) return path; - - // STEP 3: split the directories, this gets rid of consecutative "/"'s -- string [] dirs = path.Split (DirectorySeparatorChar, AltDirectorySeparatorChar); -+ string [] dirs = path.Split (DirectorySeparatorChar); - // STEP 4: Get rid of directories containing . and .. - int target = 0; - diff --git a/dev-lang/mono/files/mono-1.1.5-icu-linking.diff b/dev-lang/mono/files/mono-1.1.5-icu-linking.diff deleted file mode 100644 index 6ba1b8a89267..000000000000 --- a/dev-lang/mono/files/mono-1.1.5-icu-linking.diff +++ /dev/null @@ -1,11 +0,0 @@ -diff -aur mono-1.1.5-orig/mono/metadata/Makefile.am mono-1.1.5/mono/metadata/Makefile.am ---- mono-1.1.5-orig/mono/metadata/Makefile.am 2005-03-16 11:18:25.000000000 -0500 -+++ mono-1.1.5/mono/metadata/Makefile.am 2005-03-26 18:08:34.000000000 -0500 -@@ -29,6 +29,7 @@ - - CLEANFILES = mono-bundle.stamp - -+libmonoruntime_la_LIBADD = $(ICU_LIBS) - libmonoruntime_static_la_LIBADD = $(bundle_obj) $(PLATFORM_LIB) $(libmonoruntime_la_LIBADD) - - libmonoruntime_la_SOURCES = \ diff --git a/dev-lang/mono/files/mono-1.1.5-pathfix.diff b/dev-lang/mono/files/mono-1.1.5-pathfix.diff deleted file mode 100644 index 01eb67f1c881..000000000000 --- a/dev-lang/mono/files/mono-1.1.5-pathfix.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -aur mono-1.1.4-orig/mcs/class/corlib/System.IO/Path.cs mono-1.1.4/mcs/class/corlib/System.IO/Path.cs ---- mono-1.1.4-orig/mcs/class/corlib/System.IO/Path.cs 2005-02-05 14:42:23.000000000 -0500 -+++ mono-1.1.4/mcs/class/corlib/System.IO/Path.cs 2005-02-22 21:00:50.122250160 -0500 -@@ -387,7 +387,7 @@ - //if (root == path) return path; - - // STEP 3: split the directories, this gets rid of consecutative "/"'s -- string [] dirs = path.Split (DirectorySeparatorChar, AltDirectorySeparatorChar); -+ string [] dirs = path.Split (DirectorySeparatorChar); - // STEP 4: Get rid of directories containing . and .. - int target = 0; - diff --git a/dev-lang/mono/files/mono-1.1.5-r42108.diff b/dev-lang/mono/files/mono-1.1.5-r42108.diff deleted file mode 100644 index 6b180e740807..000000000000 --- a/dev-lang/mono/files/mono-1.1.5-r42108.diff +++ /dev/null @@ -1,11 +0,0 @@ -diff -aur mono-1.1.5-orig/mono/metadata/metadata.c mono-1.1.5/mono/metadata/metadata.c ---- mono-1.1.5-orig/mono/metadata/metadata.c 2005-03-16 11:18:22.000000000 -0500 -+++ mono-1.1.5/mono/metadata/metadata.c 2005-03-22 23:50:27.000000000 -0500 -@@ -551,6 +551,7 @@ - g_assert (i == 4 || i == 5); - field_size = i == 4 ? idx_size (MONO_TABLE_FIELD): - idx_size(MONO_TABLE_METHOD); -+ break; - case MONO_TABLE_GENERICPARAM: - g_assert (i == 2 || i == 4 || i == 5); - if (i == 2) diff --git a/dev-lang/mono/files/mono-1.1.5-r42122.diff b/dev-lang/mono/files/mono-1.1.5-r42122.diff deleted file mode 100644 index a9888e94b91f..000000000000 --- a/dev-lang/mono/files/mono-1.1.5-r42122.diff +++ /dev/null @@ -1,40 +0,0 @@ -Index: mono/mini/exceptions-ppc.c -=================================================================== ---- mono/mini/exceptions-ppc.c (revision 42121) -+++ mono/mini/exceptions-ppc.c (working copy) -@@ -199,6 +199,7 @@ - ppc_break (code); - - g_assert ((code - start) < sizeof(start)); -+ mono_arch_flush_icache (start, code - start); - return start; - } - -@@ -268,6 +269,7 @@ - ppc_blr (code); - - g_assert ((code - start) < sizeof(start)); -+ mono_arch_flush_icache (start, code - start); - return start; - } - -@@ -371,6 +373,7 @@ - /* we should never reach this breakpoint */ - ppc_break (code); - g_assert ((code - start) < size); -+ mono_arch_flush_icache (start, code - start); - return start; - } - -Index: mono/mini/tramp-ppc.c -=================================================================== ---- mono/mini/tramp-ppc.c (revision 42121) -+++ mono/mini/tramp-ppc.c (working copy) -@@ -537,6 +537,7 @@ - if (notification_address) - *notification_address = buf; - ppc_blr (buf); -+ mono_arch_flush_icache (ptr, buf - ptr); - - return ptr; - } diff --git a/dev-lang/mono/files/mono-1.1.6-r42300.diff b/dev-lang/mono/files/mono-1.1.6-r42300.diff deleted file mode 100644 index 8688bb0fb8ac..000000000000 --- a/dev-lang/mono/files/mono-1.1.6-r42300.diff +++ /dev/null @@ -1,36 +0,0 @@ -diff -aur mono-1.1.6-orig/mono/mini/cpu-amd64.md mono-1.1.6/mono/mini/cpu-amd64.md ---- mono-1.1.6-orig/mono/mini/cpu-amd64.md 2005-03-30 16:26:18.000000000 -0500 -+++ mono-1.1.6/mono/mini/cpu-amd64.md 2005-04-11 23:12:10.000000000 -0400 -@@ -289,8 +289,8 @@ - storei4_membase_imm: dest:b len:13 - storei4_membase_reg: dest:b src1:i len:9 - storei8_membase_imm: dest:b len:18 --storer4_membase_reg: dest:b src1:f len:14 --storer8_membase_reg: dest:b src1:f len:9 -+storer4_membase_reg: dest:b src1:f len:15 -+storer8_membase_reg: dest:b src1:f len:10 - load_membase: dest:i src1:b len:15 - loadi1_membase: dest:i src1:b len:9 - loadu1_membase: dest:i src1:b len:9 -diff -aur mono-1.1.6-orig/mono/mini/mini-amd64.c mono-1.1.6/mono/mini/mini-amd64.c ---- mono-1.1.6-orig/mono/mini/mini-amd64.c 2005-03-30 16:26:18.000000000 -0500 -+++ mono-1.1.6/mono/mini/mini-amd64.c 2005-04-11 23:12:10.000000000 -0400 -@@ -5383,11 +5383,13 @@ - patch_info->type = MONO_PATCH_INFO_INTERNAL_METHOD; - patch_info->ip.i = code - cfg->native_code; - -- if (mono_compile_aot) -+ if (mono_compile_aot) { - amd64_mov_reg_membase (code, GP_SCRATCH_REG, AMD64_RIP, 0, 8); -- else -- amd64_set_reg_template (code, GP_SCRATCH_REG); -- amd64_call_reg (code, GP_SCRATCH_REG); -+ amd64_call_reg (code, GP_SCRATCH_REG); -+ } else { -+ /* The callee is in memory allocated using the code manager */ -+ amd64_call_code (code, 0); -+ } - - amd64_mov_reg_imm (buf, AMD64_RSI, (code - cfg->native_code) - throw_ip); - while (buf < buf2) -Only in mono-1.1.6/mono/mini: mini-amd64.c.orig diff --git a/dev-lang/mono/files/mono-1.1.7-ppc-tls.diff b/dev-lang/mono/files/mono-1.1.7-ppc-tls.diff deleted file mode 100644 index fe3c7ed1f8b9..000000000000 --- a/dev-lang/mono/files/mono-1.1.7-ppc-tls.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: mono/utils/mono-compiler.h -=================================================================== ---- mono/utils/mono-compiler.h (revision 45339) -+++ mono/utils/mono-compiler.h (working copy) -@@ -11,6 +11,8 @@ - - #if defined(PIC) && defined(__x86_64__) - #define MONO_TLS_FAST -+#elif defined (__powerpc__) -+#define MONO_TLS_FAST - #else - #define MONO_TLS_FAST __attribute__((tls_model("local-exec"))) - #endif diff --git a/dev-lang/mono/files/mono-1.1.8.3-array-getvalue.diff b/dev-lang/mono/files/mono-1.1.8.3-array-getvalue.diff deleted file mode 100644 index b679620022cc..000000000000 --- a/dev-lang/mono/files/mono-1.1.8.3-array-getvalue.diff +++ /dev/null @@ -1,34 +0,0 @@ -diff -aur mono-1.1.8.2-orig/mcs/class/corlib/System/Array.cs mono-1.1.8.2/mcs/class/corlib/System/Array.cs ---- mono-1.1.8.2-orig/mcs/class/corlib/System/Array.cs 2005-06-04 14:00:46.000000000 -0400 -+++ mono-1.1.8.2/mcs/class/corlib/System/Array.cs 2005-07-25 21:18:09.000000000 -0400 -@@ -188,10 +188,10 @@ - public extern int GetLowerBound (int dimension); - - [MethodImplAttribute (MethodImplOptions.InternalCall)] -- public extern object GetValue (int[] indices); -+ public extern object GetValue (params int[] indices); - - [MethodImplAttribute (MethodImplOptions.InternalCall)] -- public extern void SetValue (object value, int[] indices); -+ public extern void SetValue (object value, params int[] indices); - - // CAUTION! No bounds checking! - [MethodImplAttribute (MethodImplOptions.InternalCall)] -@@ -486,7 +486,7 @@ - } - - [ComVisible (false)] -- public object GetValue (long [] indices) -+ public object GetValue (params long [] indices) - { - if (indices == null) { - // LAMESPEC: Docs say we should throw a ArgumentNull, but .NET -@@ -497,7 +497,7 @@ - } - - [ComVisible (false)] -- public void SetValue (object value, long [] indices) -+ public void SetValue (object value, params long [] indices) - { - if (indices == null) { - // LAMESPEC: Docs say we should throw a ArgumentNull, but .NET diff --git a/dev-lang/mono/files/mono-1.1.8.3-icall.diff b/dev-lang/mono/files/mono-1.1.8.3-icall.diff deleted file mode 100644 index dbc12694e770..000000000000 --- a/dev-lang/mono/files/mono-1.1.8.3-icall.diff +++ /dev/null @@ -1,10 +0,0 @@ ---- mono-1.1.8-orig/mono/metadata/icall.c 2005-07-27 21:27:32.000000000 -0700 -+++ mono-1.1.8/mono/metadata/icall.c 2005-07-27 21:28:03.000000000 -0700 -@@ -2561,7 +2561,6 @@ - else - result = *((gpointer *)((char *)this + field->offset)); - -- g_assert (result); - out_args = mono_array_new (domain, mono_defaults.object_class, 1); - *outArgs = out_args; - mono_array_set (out_args, gpointer, 0, result); diff --git a/dev-lang/mono/files/mono-1.1.9.1-io-layer-fix.diff b/dev-lang/mono/files/mono-1.1.9.1-io-layer-fix.diff deleted file mode 100644 index a42d7484e516..000000000000 --- a/dev-lang/mono/files/mono-1.1.9.1-io-layer-fix.diff +++ /dev/null @@ -1,206 +0,0 @@ -Index: mono/io-layer/handles.c -=================================================================== ---- mono/io-layer/handles.c (revision 50600) -+++ mono/io-layer/handles.c (working copy) -@@ -351,10 +351,6 @@ - _wapi_private_handle_count += _WAPI_HANDLE_INITIAL_COUNT; - } - -- thr_ret = mono_mutex_unlock (&scan_mutex); -- g_assert (thr_ret == 0); -- pthread_cleanup_pop (0); -- - /* Make sure we left the space for fd mappings */ - g_assert (handle_idx >= _wapi_fd_reserve); - -@@ -375,7 +371,8 @@ - handle_specific); - if (offset == 0) { - /* FIXME: grow the arrays */ -- return (_WAPI_HANDLE_INVALID); -+ handle = _WAPI_HANDLE_INVALID; -+ goto done; - } - } - -@@ -386,7 +383,8 @@ - - if (ref == 0) { - /* FIXME: grow the arrays */ -- return (_WAPI_HANDLE_INVALID); -+ handle = _WAPI_HANDLE_INVALID; -+ goto done; - } - } - -@@ -396,6 +394,11 @@ - ref); - #endif - } -+ -+done: -+ thr_ret = mono_mutex_unlock (&scan_mutex); -+ g_assert (thr_ret == 0); -+ pthread_cleanup_pop (0); - - return(handle); - } -@@ -403,7 +406,7 @@ - gpointer _wapi_handle_new_from_offset (WapiHandleType type, guint32 offset) - { - guint32 handle_idx = 0; -- gpointer handle; -+ gpointer handle = INVALID_HANDLE_VALUE; - int thr_ret, i, k; - - mono_once (&shared_init_once, shared_init); -@@ -417,6 +420,11 @@ - g_assert(_WAPI_SHARED_HANDLE(type)); - g_assert(offset != 0); - -+ pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, -+ (void *)&scan_mutex); -+ thr_ret = mono_mutex_lock (&scan_mutex); -+ g_assert (thr_ret == 0); -+ - for (i = SLOT_INDEX (0); _wapi_private_handles [i] != NULL; i++) { - for (k = SLOT_OFFSET (0); k < _WAPI_HANDLE_INITIAL_COUNT; k++) { - struct _WapiHandleUnshared *handle_data = &_wapi_private_handles [i][k]; -@@ -424,14 +432,24 @@ - if (handle_data->type == type && - handle_data->u.shared.offset == offset) { - handle = GUINT_TO_POINTER (i * _WAPI_HANDLE_INITIAL_COUNT + k); -- _wapi_handle_ref (handle); -+ goto first_pass_done; -+ } -+ } -+ } - -+first_pass_done: -+ thr_ret = mono_mutex_unlock (&scan_mutex); -+ g_assert (thr_ret == 0); -+ pthread_cleanup_pop (0); -+ -+ if (handle != INVALID_HANDLE_VALUE) { -+ _wapi_handle_ref (handle); -+ - #ifdef DEBUG -- g_message ("%s: Returning old handle %p referencing 0x%x", __func__, handle, offset); -+ g_message ("%s: Returning old handle %p referencing 0x%x", -+ __func__, handle, offset); - #endif -- return (handle); -- } -- } -+ return (handle); - } - - pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, -@@ -713,8 +731,13 @@ - gpointer ret = NULL; - guint32 i, k; - gboolean found = FALSE; -+ int thr_ret; - -- -+ pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, -+ (void *)&scan_mutex); -+ thr_ret = mono_mutex_lock (&scan_mutex); -+ g_assert (thr_ret == 0); -+ - for (i = SLOT_INDEX (0); !found && _wapi_private_handles [i] != NULL; i++) { - for (k = SLOT_OFFSET (0); k < _WAPI_HANDLE_INITIAL_COUNT; k++) { - handle_data = &_wapi_private_handles [i][k]; -@@ -729,6 +752,10 @@ - } - } - -+ thr_ret = mono_mutex_unlock (&scan_mutex); -+ g_assert (thr_ret == 0); -+ pthread_cleanup_pop (0); -+ - if (!found && _WAPI_SHARED_HANDLE (type)) { - /* Not found yet, so search the shared memory too */ - #ifdef DEBUG -@@ -1564,7 +1591,13 @@ - { - struct _WapiHandleUnshared *handle_data; - guint32 i, k; -- -+ int thr_ret; -+ -+ pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, -+ (void *)&scan_mutex); -+ thr_ret = mono_mutex_lock (&scan_mutex); -+ g_assert (thr_ret == 0); -+ - for(i = SLOT_INDEX (0); _wapi_private_handles [i] != NULL; i++) { - for (k = SLOT_OFFSET (0); k < _WAPI_HANDLE_INITIAL_COUNT; k++) { - handle_data = &_wapi_private_handles [i][k]; -@@ -1582,6 +1615,10 @@ - g_print ("\n"); - } - } -+ -+ thr_ret = mono_mutex_unlock (&scan_mutex); -+ g_assert (thr_ret == 0); -+ pthread_cleanup_pop (0); - } - - static void _wapi_shared_details (gpointer handle_info) -@@ -1602,6 +1639,10 @@ - thr_ret = _wapi_shm_sem_lock (_WAPI_SHARED_SEM_SHARE); - g_assert(thr_ret == 0); - -+ pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, -+ (void *)&scan_mutex); -+ thr_ret = mono_mutex_lock (&scan_mutex); -+ - for(i = SLOT_INDEX (0); _wapi_private_handles [i] != NULL; i++) { - for (k = SLOT_OFFSET (0); k < _WAPI_HANDLE_INITIAL_COUNT; k++) { - struct _WapiHandleUnshared *handle = &_wapi_private_handles [i][k]; -@@ -1644,6 +1685,10 @@ - } - } - } -+ -+ thr_ret = mono_mutex_unlock (&scan_mutex); -+ g_assert (thr_ret == 0); -+ pthread_cleanup_pop (0); - - thr_ret = _wapi_shm_sem_unlock (_WAPI_SHARED_SEM_SHARE); - -Index: mono/io-layer/processes.c -=================================================================== ---- mono/io-layer/processes.c (revision 50600) -+++ mono/io-layer/processes.c (working copy) -@@ -97,6 +97,11 @@ - int status; - pid_t ret; - -+ if (_wapi_handle_issignalled (test)) { -+ /* We've already done this one */ -+ return (FALSE); -+ } -+ - ok = _wapi_lookup_handle (test, WAPI_HANDLE_PROCESS, - (gpointer *)&process); - if (ok == FALSE) { -@@ -104,14 +109,14 @@ - } - - do { -- ret == waitpid (process->id, &status, WNOHANG); -+ ret = waitpid (process->id, &status, WNOHANG); - } while (errno == EINTR); - - if (ret <= 0) { - /* Process not ready for wait */ - #ifdef DEBUG -- g_message ("%s: Process %d not ready for waiting for", -- __func__, ret); -+ g_message ("%s: Process %d not ready for waiting for: %s", -+ __func__, process->id, g_strerror (errno)); - #endif - - return (FALSE); |