diff options
Diffstat (limited to 'src/lib/dev.c')
-rw-r--r-- | src/lib/dev.c | 32 |
1 files changed, 8 insertions, 24 deletions
diff --git a/src/lib/dev.c b/src/lib/dev.c index ad311f7f..c6f25cdf 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -28,7 +28,6 @@ #include <ouroboros/dev.h> #include <ouroboros/sockets.h> #include <ouroboros/bitmap.h> -#include <ouroboros/instance_name.h> #include <ouroboros/shm_du_map.h> #include <ouroboros/shm_ap_rbuff.h> #include <ouroboros/utils.h> @@ -45,7 +44,8 @@ struct flow { }; struct ap_data { - instance_name_t * api; + char * ap_name; + pid_t api; struct shm_du_map * dum; struct bmp * fds; struct shm_ap_rbuff * rb; @@ -66,30 +66,17 @@ int ap_init(char * ap_name) return -ENOMEM; } - _ap_instance->api = instance_name_create(); - if (_ap_instance->api == NULL) { - free(_ap_instance); - return -ENOMEM; - } - - if (instance_name_init_from(_ap_instance->api, - ap_name, - getpid()) == NULL) { - instance_name_destroy(_ap_instance->api); - free(_ap_instance); - return -ENOMEM; - } + _ap_instance->api = getpid(); + _ap_instance->ap_name = ap_name; _ap_instance->fds = bmp_create(AP_MAX_FLOWS, 0); if (_ap_instance->fds == NULL) { - instance_name_destroy(_ap_instance->api); free(_ap_instance); return -ENOMEM; } _ap_instance->dum = shm_du_map_open(); if (_ap_instance->dum == NULL) { - instance_name_destroy(_ap_instance->api); bmp_destroy(_ap_instance->fds); free(_ap_instance); return -1; @@ -97,7 +84,6 @@ int ap_init(char * ap_name) _ap_instance->rb = shm_ap_rbuff_create(); if (_ap_instance->rb == NULL) { - instance_name_destroy(_ap_instance->api); shm_du_map_close(_ap_instance->dum); bmp_destroy(_ap_instance->fds); free(_ap_instance); @@ -124,8 +110,6 @@ void ap_fini(void) pthread_rwlock_wrlock(&_ap_instance->data_lock); - if (_ap_instance->api != NULL) - instance_name_destroy(_ap_instance->api); if (_ap_instance->fds != NULL) bmp_destroy(_ap_instance->fds); if (_ap_instance->dum != NULL) @@ -168,8 +152,8 @@ int flow_accept(char ** ae_name) pthread_rwlock_rdlock(&_ap_instance->data_lock); - msg.ap_name = _ap_instance->api->name; - msg.pid = _ap_instance->api->id; + msg.ap_name = _ap_instance->ap_name; + msg.pid = _ap_instance->api; pthread_rwlock_unlock(&_ap_instance->data_lock); @@ -238,7 +222,7 @@ int flow_alloc_resp(int fd, msg.code = IRM_MSG_CODE__IRM_FLOW_ALLOC_RESP; msg.has_pid = true; - msg.pid = _ap_instance->api->id; + msg.pid = _ap_instance->api; msg.has_port_id = true; pthread_rwlock_rdlock(&_ap_instance->data_lock); @@ -299,7 +283,7 @@ int flow_alloc(char * dst_name, pthread_rwlock_rdlock(&_ap_instance->data_lock); - msg.pid = _ap_instance->api->id; + msg.pid = _ap_instance->api; pthread_rwlock_unlock(&_ap_instance->data_lock); |