#include #include #include #include #include #include #include "ringbuffer.h" #include "logging.h" #include "mqttreceiver.h" #include "handleType.h" extern char VERSION[]; extern uint32_t REFCNT; config_t cfg; ringbuffer_t ringbuffer; commonThreadHandle_t commonThreadHandle; void readConfig() { config_init(&cfg); if (! config_read_file(&cfg, "./mqttauditing.cfg")) { logmsg(LOG_ERR, "failed to read config file: %s:%d - %s\n", config_error_file(&cfg), config_error_line(&cfg), config_error_text(&cfg)); config_destroy(&cfg); exit(-1); } } int main (void) { fprintf(stderr, "VERSION: %s, REFCNT: %u\n", VERSION, REFCNT); readConfig(); ringbufferInit(&ringbuffer); commonThreadHandle.config = &cfg; commonThreadHandle.ringbuffer = &ringbuffer; pthread_t mqttThread; int err = pthread_create(&mqttThread, NULL, mqttreceiver, (void*) &commonThreadHandle); if (err != 0) { fprintf(stderr, "Unable to create mqtt receiver thread: %d\n", err); exit(1); } fprintf(stderr, "started.\n"); pthread_join(mqttThread, NULL); fprintf(stderr, "mqtt receiver thread joined\n"); // will never be reached config_destroy(&cfg); }