[Mono-dev] Embedded Mono and System.Diagnostics.Process
Mike Hull
mike.hull at coversant.net
Tue Dec 20 19:40:40 EST 2005
Hey Guys,
I have a C# application that runs inside of a C daemon. It does not
show up when I call System.Diagnostics.Process.GetProcesses(); I'm
trying to avoid just using a lockfile.pid...
Do I need to do something else to get this to work?
void main_thread_handler(gpointer userdata)
{
MonoAssembly *assembly;
MainThreadArgs *mainthreadargs = (MainThreadArgs *) userdata;
/* load the server daemon assembly */
assembly =
mono_domain_assembly_open(mainthreadargs->domain,"Coversant.SoapBox.Server.Daemon.exe");
if (!assembly) exit(EXIT_ERRORLOADINGASSEMBLY);
/* execute daemon.exe's static entry point */
mono_jit_exec (mainthreadargs->domain, assembly,
mainthreadargs->argc, mainthreadargs->argv);
}
int main(int argc, char* argv[])
{
MonoDomain *domain;
int retval;
mono_set_defaults(0, mono_parse_default_optimizations(NULL));
/* jit the daemon */
domain = mono_jit_init ("Coversant.SoapBox.Server.Daemon.exe");
/* set the stuff that the main thread needs to know */
MainThreadArgs mainargs;
mainargs.domain = domain;
mainargs.argc = argc;
mainargs.argv = argv;
/* parse config */
mono_config_parse(NULL);
/* transfer control to mono */
mono_runtime_exec_managed_code(domain, main_thread_handler, &mainargs);
/* get exit code from mono */
retval = mono_environment_exitcode_get ();
mono_jit_cleanup (domain);
return retval;
}
Thanks,
--
Mike Hull
Coversant, Inc.
Leader in XMPP Instant Messaging
More information about the Mono-devel-list
mailing list