36 lines
684 B
C
Executable File
36 lines
684 B
C
Executable File
#ifndef LOG
|
|
#define LOG
|
|
|
|
#include "config.h"
|
|
#include "memctl/memctl.h"
|
|
#include <semaphore.h>
|
|
#include <pthread.h>
|
|
|
|
|
|
typedef struct logs
|
|
{
|
|
char log[MAX_LOG_LENGTH];
|
|
void **next;
|
|
char info[INFO_LENGTH];
|
|
}logs;
|
|
|
|
typedef struct log_manager
|
|
{
|
|
pthread_t pid;
|
|
mem_ctl *mempool;
|
|
int (*in_log)(struct log_manager*,const char *,const char *);
|
|
void *(*clear_log)(void*);
|
|
int (*cleanup)(struct log_manager*);
|
|
sem_t log_sem;
|
|
void **log;
|
|
logs *rear;
|
|
atomic_int count;
|
|
pthread_mutex_t mtx;
|
|
pthread_cond_t cond;
|
|
int stop;
|
|
}log_manager;
|
|
|
|
void log_manager_stop(log_manager *self);
|
|
int init_loger(log_manager *self,mem_ctl *mempool);
|
|
|
|
#endif |