Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Molaro <lupus@oddwiz.org>2005-01-11 17:58:27 +0300
committerPaolo Molaro <lupus@oddwiz.org>2005-01-11 17:58:27 +0300
commit11f7e37369d38ffa3571faaf17056330556d0368 (patch)
tree2e375e258865059ca86f073ce8aea63e70329e87 /samples
parentf946decfb4dbb030ef6630d36616daf99f7cc8c0 (diff)
Cleanup examples (removed extra thread execution).
svn path=/trunk/mono/; revision=38700
Diffstat (limited to 'samples')
-rw-r--r--samples/embed/test-invoke.c32
-rw-r--r--samples/embed/teste.c28
2 files changed, 12 insertions, 48 deletions
diff --git a/samples/embed/test-invoke.c b/samples/embed/test-invoke.c
index 899a6b228a8..90c5901b041 100644
--- a/samples/embed/test-invoke.c
+++ b/samples/embed/test-invoke.c
@@ -15,14 +15,6 @@
* ./test-invoke invoke.exe
*/
-typedef struct
-{
- MonoDomain *domain;
- const char *file;
- int argc;
- char **argv;
-} MainThreadArgs;
-
static void
access_valuetype_field (MonoObject *obj)
{
@@ -298,17 +290,15 @@ create_object (MonoDomain *domain, MonoImage *image)
more_methods (domain);
}
-static void main_thread_handler (gpointer user_data)
+static void main_function (MonoDomain *domain, const char *file, int argc, char **argv)
{
- MainThreadArgs *main_args=(MainThreadArgs *)user_data;
MonoAssembly *assembly;
/* Loading an assembly makes the runtime setup everything
* needed to execute it. If we're just interested in the metadata
* we'd use mono_image_load (), instead and we'd get a MonoImage*.
*/
- assembly = mono_domain_assembly_open (main_args->domain,
- main_args->file);
+ assembly = mono_domain_assembly_open (domain, file);
if (!assembly)
exit (2);
/*
@@ -316,10 +306,9 @@ static void main_thread_handler (gpointer user_data)
* The return value needs to be looked up from
* System.Environment.ExitCode.
*/
- mono_jit_exec (main_args->domain, assembly, main_args->argc,
- main_args->argv);
+ mono_jit_exec (domain, assembly, argc, argv);
- create_object (main_args->domain, mono_assembly_get_image (assembly));
+ create_object (domain, mono_assembly_get_image (assembly));
}
int
@@ -327,7 +316,6 @@ main (int argc, char* argv[]) {
MonoDomain *domain;
const char *file;
int retval;
- MainThreadArgs main_args;
if (argc < 2){
fprintf (stderr, "Please provide an assembly to load\n");
@@ -340,15 +328,9 @@ main (int argc, char* argv[]) {
*/
domain = mono_jit_init (file);
- main_args.domain=domain;
- main_args.file=file;
- main_args.argc=argc-1;
- main_args.argv=argv+1;
-
- mono_runtime_exec_managed_code (domain, main_thread_handler,
- &main_args);
-
- retval=mono_environment_exitcode_get ();
+ main_function (domain, file, argc - 1, argv + 1);
+
+ retval = mono_environment_exitcode_get ();
mono_jit_cleanup (domain);
return retval;
diff --git a/samples/embed/teste.c b/samples/embed/teste.c
index d67720a145f..4846cc42048 100644
--- a/samples/embed/teste.c
+++ b/samples/embed/teste.c
@@ -15,21 +15,11 @@ gimme () {
return mono_string_new (mono_domain_get (), "All your monos are belong to us!");
}
-typedef struct
+static void main_function (MonoDomain *domain, const char *file, int argc, char** argv)
{
- MonoDomain *domain;
- const char *file;
- int argc;
- char **argv;
-} MainThreadArgs;
-
-static void main_thread_handler (gpointer user_data)
-{
- MainThreadArgs *main_args=(MainThreadArgs *)user_data;
MonoAssembly *assembly;
- assembly = mono_domain_assembly_open (main_args->domain,
- main_args->file);
+ assembly = mono_domain_assembly_open (domain, file);
if (!assembly)
exit (2);
/*
@@ -37,8 +27,7 @@ static void main_thread_handler (gpointer user_data)
* The return value needs to be looked up from
* System.Environment.ExitCode.
*/
- mono_jit_exec (main_args->domain, assembly, main_args->argc,
- main_args->argv);
+ mono_jit_exec (domain, assembly, argc, argv);
}
@@ -47,7 +36,6 @@ main(int argc, char* argv[]) {
MonoDomain *domain;
const char *file;
int retval;
- MainThreadArgs main_args;
if (argc < 2){
fprintf (stderr, "Please provide an assembly to load");
@@ -65,15 +53,9 @@ main(int argc, char* argv[]) {
*/
mono_add_internal_call ("MonoEmbed::gimme", gimme);
- main_args.domain=domain;
- main_args.file=file;
- main_args.argc=argc-1;
- main_args.argv=argv+1;
-
- mono_runtime_exec_managed_code (domain, main_thread_handler,
- &main_args);
+ main_function (domain, file, argc - 1, argv + 1);
- retval=mono_environment_exitcode_get ();
+ retval = mono_environment_exitcode_get ();
mono_jit_cleanup (domain);
return retval;