]> rtime.felk.cvut.cz Git - frescor/forb.git/blobdiff - src/forbrun/forbrun.c
forb: forbrun passes the parameters to shlibs properly
[frescor/forb.git] / src / forbrun / forbrun.c
index 9219cee4da3893b60d378b8881fc6ec1c96db62a..2319cf0ef2f3543ff335538b998e2a89e057010b 100644 (file)
@@ -47,6 +47,7 @@ void *forb_main_thread(void *arg)
 {
        struct forb_main_data *data = arg;
        int ret;
+       optind = 1;
        ret = data->forb_main(data->orb, data->argc, data->argv);
        free(data);
        exit(ret);
@@ -59,7 +60,7 @@ int main(int argc, char *argv[])
        forb_orb orb;
        bool opt_daemon = false;
        char *opt_pidfile = NULL;
-       int i;
+       int i, ret;
        forb_init_attr_t attr = {
                .orb_id = "",
                .peer_discovery_callback = NULL, /* TODO */
@@ -72,7 +73,7 @@ int main(int argc, char *argv[])
        };
        int  opt;
 
-       while ((opt = getopt_long(argc, argv, "d::hil:p:x", &long_opts[0], NULL)) != EOF) {
+       while ((opt = getopt_long(argc, argv, "d::hi:l:p:", &long_opts[0], NULL)) != EOF) {
                switch (opt) {
                        case 'l':
                                if (*optarg == '?') {
@@ -80,7 +81,6 @@ int main(int argc, char *argv[])
                                        exit(0);
                                }
                                {
-                                       int ret;
                                        ret = ul_log_domain_arg2levels(optarg);
                                        if (ret) 
                                                error(1, EINVAL, "Error parsing -l argument at char %d\n", ret);
@@ -142,7 +142,9 @@ int main(int argc, char *argv[])
                fosa_thread_create(&tid, NULL, forb_main_thread, data);
                libs_loaded_cnt++;
 
-               forb_wait_for_server_ready(orb);
+               ret = forb_wait_for_server_ready(orb);
+               if (ret)
+                       error(1, errno, "forb_wait_for_server_ready");
        }
 
        if (opt_daemon)