service_pt serviceComponent_create(bundle_context_pt context, dependency_manager_pt manager) { service_pt service; apr_pool_t *pool; apr_pool_t *mypool; bundleContext_getMemoryPool(context, &pool); apr_pool_create(&mypool, pool); if (mypool) { service = (service_pt) apr_pcalloc(mypool, sizeof(*service)); service->pool = mypool; service->impl = NULL; service->serviceName = NULL; service->serviceRegistration = NULL; service->dependencies = NULL; arrayList_create(&service->dependencies); service->init = service_init; service->start= service_start; service->stop = service_stop; service->destroy = service_destroy; service->context = context; service->manager = manager; service->state = state_create(arrayList_clone(service->dependencies), false); service->executor = executor_create(mypool); apr_thread_mutex_create(&service->mutex, APR_THREAD_MUTEX_UNNESTED, mypool); } return service; }
int main(int argc, char* argv[]) { struct Executor e; executor_create(&e,"register.txt","errors.txt"); executor_run(&e); exit(0); }