|
@@ -38,15 +38,9 @@
|
|
|
#include "port.h"
|
|
|
#include "link.h"
|
|
|
#include "name_table.h"
|
|
|
-#include "user_reg.h"
|
|
|
#include "config.h"
|
|
|
|
|
|
-struct manager {
|
|
|
- u32 user_ref;
|
|
|
- u32 port_ref;
|
|
|
-};
|
|
|
-
|
|
|
-static struct manager mng = { 0};
|
|
|
+static u32 config_port_ref;
|
|
|
|
|
|
static DEFINE_SPINLOCK(config_lock);
|
|
|
|
|
@@ -506,20 +500,16 @@ int tipc_cfg_init(void)
|
|
|
struct tipc_name_seq seq;
|
|
|
int res;
|
|
|
|
|
|
- res = tipc_attach(&mng.user_ref);
|
|
|
- if (res)
|
|
|
- goto failed;
|
|
|
-
|
|
|
- res = tipc_createport(mng.user_ref, NULL, TIPC_CRITICAL_IMPORTANCE,
|
|
|
+ res = tipc_createport(0, NULL, TIPC_CRITICAL_IMPORTANCE,
|
|
|
NULL, NULL, NULL,
|
|
|
NULL, cfg_named_msg_event, NULL,
|
|
|
- NULL, &mng.port_ref);
|
|
|
+ NULL, &config_port_ref);
|
|
|
if (res)
|
|
|
goto failed;
|
|
|
|
|
|
seq.type = TIPC_CFG_SRV;
|
|
|
seq.lower = seq.upper = tipc_own_addr;
|
|
|
- res = tipc_nametbl_publish_rsv(mng.port_ref, TIPC_ZONE_SCOPE, &seq);
|
|
|
+ res = tipc_nametbl_publish_rsv(config_port_ref, TIPC_ZONE_SCOPE, &seq);
|
|
|
if (res)
|
|
|
goto failed;
|
|
|
|
|
@@ -527,15 +517,13 @@ int tipc_cfg_init(void)
|
|
|
|
|
|
failed:
|
|
|
err("Unable to create configuration service\n");
|
|
|
- tipc_detach(mng.user_ref);
|
|
|
- mng.user_ref = 0;
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
void tipc_cfg_stop(void)
|
|
|
{
|
|
|
- if (mng.user_ref) {
|
|
|
- tipc_detach(mng.user_ref);
|
|
|
- mng.user_ref = 0;
|
|
|
+ if (config_port_ref) {
|
|
|
+ tipc_deleteport(config_port_ref);
|
|
|
+ config_port_ref = 0;
|
|
|
}
|
|
|
}
|