This commit is contained in:
2016-09-17 15:04:12 +03:00
parent 95a6f1fe97
commit 2442ceaee2
4 changed files with 127 additions and 0 deletions

53
job_queue.c Normal file
View File

@@ -0,0 +1,53 @@
#include <stdlib.h>
#include <string.h>
#include "sql.h"
#include "job_queue.h"
struct msg_t **slot;
int total_queues = 0;
int start_msg_queue(void)
{
int i;
for (i = 0; i < total_queues; i++) {
if (slot[i] == NULL) {
slot[i] = (struct msg_t *)calloc(100, sizeof(struct msg_t));
if (slot[i] == NULL)
return -1;
return i;
}
}
return -1;
}
void free_queue(int id)
{
free(slot[id]);
}
int start_job_queue(int poolsize)
{
slot = (struct msg_t **)calloc(poolsize, sizeof(struct msg_t *));
if (slot == NULL)
return -1;
total_queues = poolsize;
return 0;
}
int add_msg_to_queue(int id, struct msg_t buf)
{
int i;
for (i = 0; i < 100; i++) {
if (slot[id][i].meta.is_recv) {
memcpy(&slot[id][i], &buf, sizeof(struct msg_t));
return 0;
}
}
return -1;
}
void create_job(struct msg_t buf)
{
// add_job_in_db();
}