int kopt_rpc_server_init(unsigned short port, int argc, char *argv[]) { int i; if (port == 0) port = 9000; i = karg_find(argc, argv, "--or-port", 1); if (i > 0 && (i + 1) < argc) { int tmp; if (!kstr_toint(argv[i + 1], &tmp)) port = tmp; } klog("port: %d\n", port); ignore_pipe(); spl_thread_create(worker_thread_or_server, (void*)(long)port, 0); return 0; }
/** * \brief Find knode by given name. * Name can be reguler name for index name #ddd, * e.g #1 or #-2 etc. */ knode_s *knode_find(const char *name) { int i, index; knode_s *tmp; knodecc_s *cc = __g_knodecc; if (!name || !cc->cnt) return NULL; if (name[0] == '#') { if (kstr_toint(name + 1, &index)) return NULL; return cc->arr[index % cc->cnt]; } else for (i = 0; i < cc->cnt; i++) { tmp = cc->arr[i]; if (tmp && !strcmp(tmp->name, name)) return tmp; } return NULL; }