+ if (process_async_call_klass == NULL) {
+ klass = target->vtable->klass;
+ /* Check if it's AsyncReadHandler in System.Diagnostics.Process
+ * FIXME: check the assembly is signed correctly for extra care
+ */
+ if (klass->name [0] == 'A' && strcmp (klass->name, "AsyncReadHandler") == 0
+ && strcmp (mono_image_get_name (klass->image), "System") == 0
+ && klass->nested_in && strcmp (klass->nested_in->name, "Process") == 0)
+ process_async_call_klass = klass;
+ }
+ /* return both when socket_async_call_klass has not been seen yet and when
+ * the object is not an instance of the class.
+ */
+ if (target->vtable->klass != socket_async_call_klass && target->vtable->klass != process_async_call_klass)