add write barrier

This commit is contained in:
云风
2012-10-16 10:23:43 +08:00
parent 115d9d9e2d
commit 9bb385938e

View File

@@ -48,6 +48,7 @@ skynet_globalmq_push(struct message_queue * queue) {
q->queue[tail] = queue; q->queue[tail] = queue;
__sync_synchronize(); __sync_synchronize();
q->flag[tail] = true; q->flag[tail] = true;
__sync_synchronize();
} }
struct message_queue * struct message_queue *
@@ -59,6 +60,8 @@ skynet_globalmq_pop() {
return NULL; return NULL;
} }
__sync_synchronize();
if(!q->flag[head_ptr]) { if(!q->flag[head_ptr]) {
return NULL; return NULL;
} }