diff options
Diffstat (limited to 'src/vnet/session/application.c')
-rw-r--r-- | src/vnet/session/application.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/src/vnet/session/application.c b/src/vnet/session/application.c index c20277720ad..65d2f08ddca 100644 --- a/src/vnet/session/application.c +++ b/src/vnet/session/application.c @@ -493,7 +493,11 @@ application_alloc_and_init (app_init_args_t * a) /* * Make sure we support the requested configuration */ - if (!(options[APP_OPTIONS_FLAGS] & APP_OPTIONS_FLAGS_IS_BUILTIN)) + if (options[APP_OPTIONS_FLAGS] & APP_OPTIONS_FLAGS_IS_BUILTIN) + { + seg_type = SSVM_SEGMENT_PRIVATE; + } + else if (!a->use_sock_api) { reg = vl_api_client_index_to_registration (a->api_client_index); if (!reg) @@ -501,10 +505,6 @@ application_alloc_and_init (app_init_args_t * a) if (vl_api_registration_file_index (reg) == VL_API_INVALID_FI) seg_type = SSVM_SEGMENT_SHM; } - else - { - seg_type = SSVM_SEGMENT_PRIVATE; - } if ((options[APP_OPTIONS_FLAGS] & APP_OPTIONS_FLAGS_EVT_MQ_USE_EVENTFD) && seg_type != SSVM_SEGMENT_MEMFD) @@ -845,16 +845,21 @@ vnet_application_attach (vnet_app_attach_args_t * a) if (app) return VNET_API_ERROR_APP_ALREADY_ATTACHED; - if (a->api_client_index != APP_INVALID_INDEX) + /* Socket api sets the name and validates namespace prior to attach */ + if (!a->use_sock_api) { - app_name = app_name_from_api_index (a->api_client_index); - a->name = app_name; - } + if (a->api_client_index != APP_INVALID_INDEX) + { + app_name = app_name_from_api_index (a->api_client_index); + a->name = app_name; + } - secret = a->options[APP_OPTIONS_NAMESPACE_SECRET]; - if ((rv = app_validate_namespace (a->namespace_id, secret, &app_ns_index))) - return rv; - a->options[APP_OPTIONS_NAMESPACE] = app_ns_index; + secret = a->options[APP_OPTIONS_NAMESPACE_SECRET]; + if ((rv = + app_validate_namespace (a->namespace_id, secret, &app_ns_index))) + return rv; + a->options[APP_OPTIONS_NAMESPACE] = app_ns_index; + } if ((rv = application_alloc_and_init ((app_init_args_t *) a))) return rv; |