Centralize control of contructors/destructors
[lttng-ust.git] / libust / ltt-ring-buffer-client.h
index 697324c799b7ea03a67a05efcb087f48518d7c86..5260197a839e5b252f88d066adc8247893cb1f53 100644 (file)
@@ -381,6 +381,8 @@ struct ltt_channel *_channel_create(const char *name,
        ltt_chan->handle = channel_create(&client_config, name, ltt_chan, buf_addr,
                              subbuf_size, num_subbuf, switch_timer_interval,
                              read_timer_interval);
+       if (!ltt_chan->handle)
+               return NULL;
        ltt_chan->chan = shmp(ltt_chan->handle, ltt_chan->handle->chan);
        return ltt_chan;
 }
@@ -506,15 +508,13 @@ static struct ltt_transport ltt_relay_transport = {
        },
 };
 
-static
-void __attribute__((constructor)) ltt_ring_buffer_client_init(void)
+void RING_BUFFER_MODE_TEMPLATE_INIT(void)
 {
        DBG("LTT : ltt ring buffer client init\n");
        ltt_transport_register(&ltt_relay_transport);
 }
 
-static
-void __attribute__((destructor)) ltt_ring_buffer_client_exit(void)
+void RING_BUFFER_MODE_TEMPLATE_EXIT(void)
 {
        DBG("LTT : ltt ring buffer client exit\n");
        ltt_transport_unregister(&ltt_relay_transport);
This page took 0.023974 seconds and 4 git commands to generate.