HANDLES(IOPATH_1, "get_temp_path", ves_icall_System_IO_get_temp_path, MonoString, 0, ())
ICALL_TYPE(IOSELECTOR, "System.IOSelector", IOSELECTOR_1)
-ICALL(IOSELECTOR_1, "Add", ves_icall_System_IOSelector_Add)
+HANDLES(IOSELECTOR_1, "Add", ves_icall_System_IOSelector_Add, void, 2, (gpointer, MonoIOSelectorJob))
NOHANDLES(ICALL(IOSELECTOR_2, "Remove", ves_icall_System_IOSelector_Remove))
ICALL_TYPE(MATH, "System.Math", MATH_19)
#define MONO_HANDLE_TYPE_WRAP_MonoReflectionDynamicMethod ICALL_HANDLES_WRAP_OBJ
#define MONO_HANDLE_TYPE_WRAP_MonoException ICALL_HANDLES_WRAP_OBJ
#define MONO_HANDLE_TYPE_WRAP_MonoInternalThread ICALL_HANDLES_WRAP_OBJ
+#define MONO_HANDLE_TYPE_WRAP_MonoIOSelectorJob ICALL_HANDLES_WRAP_OBJ
#define MONO_HANDLE_TYPE_WRAP_MonoObject ICALL_HANDLES_WRAP_OBJ
#define MONO_HANDLE_TYPE_WRAP_MonoManifestResourceInfo ICALL_HANDLES_WRAP_OBJ
#define MONO_HANDLE_TYPE_WRAP_MonoMulticastDelegate ICALL_HANDLES_WRAP_OBJ
}
void
-ves_icall_System_IOSelector_Add (gpointer handle, MonoIOSelectorJob *job)
+ves_icall_System_IOSelector_Add (gpointer handle, MonoIOSelectorJobHandle job_handle, MonoError* error)
{
- ERROR_DECL (error);
+ MonoIOSelectorJob* const job = MONO_HANDLE_RAW (job_handle);
ThreadPoolIOUpdate *update;
g_assert (handle);
return;
}
- int fd = GPOINTER_TO_INT (handle);
+ int const fd = GPOINTER_TO_INT (handle);
if (!threadpool_io->backend.can_register_fd (fd)) {
mono_coop_mutex_unlock (&threadpool_io->updates_lock);
mono_trace (G_LOG_LEVEL_WARNING, MONO_TRACE_IO_SELECTOR, "Could not register to wait for file descriptor %d", fd);
mono_error_set_not_supported (error, "Could not register to wait for file descriptor %d", fd);
- mono_error_set_pending_exception (error);
return;
}
#else
void
-ves_icall_System_IOSelector_Add (gpointer handle, MonoIOSelectorJob *job)
+ves_icall_System_IOSelector_Add (gpointer handle, MonoIOSelectorJobHandle job_handle, MonoError* error)
{
g_assert_not_reached ();
}
typedef struct _MonoIOSelectorJob MonoIOSelectorJob;
-ICALL_EXPORT
-void
-ves_icall_System_IOSelector_Add (gpointer handle, MonoIOSelectorJob *job);
+TYPED_HANDLE_DECL (MonoIOSelectorJob);
ICALL_EXPORT
void