int rt_event_signal(RT_EVENT *event, unsigned long mask) { return __CURRENT(rt_event_signal(event, mask)); }
void start_domain_zero(void *arg) { DomainDesc *domainInit; DomainProxy *domainProxy; LibDesc *lib; ObjectDesc *dm; ArrayDesc *arr; printk(KERN_INFO "Starting DomainZero.\n"); /* load zero lib and create portals */ lib = load(domainZero, "zero.jll"); if (lib == NULL) { printk(KERN_ERR "Cannot load lib %s\n", "zero.jll"); return; } /* * Create virtual method tables for interaction between * Java code and C-code that implements DomainZero. */ zeroLib = lib->sharedLib; init_zero_from_lib(domainZero, lib->sharedLib); /* Domainzero's naming does now exist. * Make it available. */ domainZero->initialNamingProxy = initialNamingProxy; callClassConstructors(domainZero, lib); lib = load(domainZero, "jdk0.jll"); if (lib == NULL) { printk(KERN_ERR "Cannot load lib %s\n", "jdk0.jll"); return; } callClassConstructors(domainZero, lib); /********************************* * Create and start initial Java domain *********************************/ dm = (ObjectDesc *) lookupPortal("DomainManager"); arr = (ArrayDesc *) newStringArray(domainZero, sizeof(start_libs) / sizeof(char *), start_libs); thread_prepare_to_copy(); domainProxy = domainManager_createDomain(dm, newString(domainZero, "Init"), NULL, NULL, newString(domainZero, "init.jll"), arr, newString(domainZero, "jx/init/Main"), getJVMConfig()->heapBytesDom0, -1, -1, NULL, -1, getJVMConfig()->codeBytesDom0, NULL, (ObjectDesc *) domainZero->initialNamingProxy, NULL, GC_IMPLEMENTATION_DEFAULT, NULL); domainInit = domainProxy->domain; printk(KERN_INFO "DomainZero initial thread done.\n"); rt_event_signal(&jemEvents, JEM_INIT_COMPLETE); rt_task_yield(); /* initial thread of DomainZero exits here */ }
void spin(void) { rt_event_signal(&recv_data_msg_event, 1); ros::spin(); }