summaryrefslogtreecommitdiff
path: root/lib/zclient.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2015-09-23 13:26:56 -0700
committerDonald Sharp <sharpd@cumulusnetworks.com>2015-09-23 13:26:56 -0700
commit4140ca4d153e8949afd6abc9e00fbbac3d47799c (patch)
treee21a92656dd140a433ce626128fc89801ef926a2 /lib/zclient.h
parentc006e89e9ae894f5e078cc53146e09225b53cc6f (diff)
lib: zclient.c remove extern struct thread_master *
zclient.c depended upon link time inclusion of a extern struct thread_master *master. This is a violation of the namespace of the calling daemon. If a library needs the pointer pass it in and save it for future use. This code change also makes the zclient code consistent with the other lib functions that need to schedule work on your behalf Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'lib/zclient.h')
-rw-r--r--lib/zclient.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/zclient.h b/lib/zclient.h
index 6ed4fede46..1fbb80da90 100644
--- a/lib/zclient.h
+++ b/lib/zclient.h
@@ -43,6 +43,9 @@ struct redist_proto
/* Structure for the zebra client. */
struct zclient
{
+ /* The thread master we schedule ourselves on */
+ struct thread_master *master;
+
/* Socket to zebra daemon. */
int sock;
@@ -143,7 +146,7 @@ struct zapi_ipv4
};
/* Prototypes of zebra client service functions. */
-extern struct zclient *zclient_new (void);
+extern struct zclient *zclient_new (struct thread_master *);
extern void zclient_init (struct zclient *, int, u_short);
extern int zclient_start (struct zclient *);
extern void zclient_stop (struct zclient *);