Exemple #1
0
void testq_post(){
    
    MSG_BUF testmsg;
    char temp[80] = {0};
    int len = 0;
    
    memset(&testmsg, 0, sizeof(testmsg));
    
    testmsg.key = 0x5000;
    testmsg.type = 0x9;
    testmsg.ret_id = 0x5800;
    testmsg.type = 0x9;
    testmsg.waiting = 0;
    
    
    gets(temp);

                     
    len = strlen(temp);
    
    memmove(testmsg.data, temp, len);
    testmsg.len = sizeof(MSG_BUF) - sizeof(testmsg.data) + len + 1;
    
    printf("testmsg.len is %d", testmsg.len);
    printf("string length is %d\n", len);
    
    if (q_post(&testmsg) <0)
        return;
    

    printf("\nend test_post\n");
    
}
Exemple #2
0
#include "mqueue.h"
int mq_init(mqueue *q) { /*{{{*/
	q_init(&q->q);
	if (q->flag == 0) {
		pthread_mutex_init(&q->m, NULL);
		pthread_cond_init(&q->c, NULL);
	}
	q->flag = 1;
} /*}}}*/
int mq_post(mqueue *q, int data0, void *data1) { /*{{{*/
	pthread_mutex_lock(&q->m);
	q_post(&q->q, data0, data1);
	pthread_cond_broadcast(&q->c);
	pthread_mutex_unlock(&q->m);
} /*}}}*/