X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Ffile-io.c;h=1e0422e35fbc0f069b63b3136850af188a785384;hb=76b32f3ee38e7b29cdbaa657a4826b65579f4e93;hp=9315bdf828fed4df658bc31e68eab9fda9c95f93;hpb=df867664eec6ac0aa851004db0a7cb94ba381602;p=mono.git diff --git a/mono/metadata/file-io.c b/mono/metadata/file-io.c index 9315bdf828f..1e0422e35fb 100644 --- a/mono/metadata/file-io.c +++ b/mono/metadata/file-io.c @@ -489,8 +489,13 @@ ves_icall_System_IO_MonoIO_FindFirst (MonoString *path, ifh = g_new (IncrementalFind, 1); ifh->find_handle = find_handle; ifh->utf8_path = mono_string_to_utf8_checked (path, &error); - if (mono_error_set_pending_exception (&error)) + if (mono_error_set_pending_exception (&error)) { + MONO_ENTER_GC_SAFE; + FindClose (find_handle); + MONO_EXIT_GC_SAFE; + g_free (ifh); return NULL; + } ifh->domain = mono_domain_get (); *handle = ifh; @@ -800,10 +805,6 @@ ves_icall_System_IO_MonoIO_Open (MonoString *filename, gint32 mode, if (options & FileOptions_Temporary) attributes |= FILE_ATTRIBUTE_TEMPORARY; - /* Not sure if we should set FILE_FLAG_OVERLAPPED, how does this mix with the "Async" bool here? */ - if (options & FileOptions_Asynchronous) - attributes |= FILE_FLAG_OVERLAPPED; - if (options & FileOptions_WriteThrough) attributes |= FILE_FLAG_WRITE_THROUGH; } else