event.c

来自「Minix3.11的源码。[MINIX 3是一个为高可靠性应用而设计的自由且简洁」· C语言 代码 · 共 70 行

C
70
字号
/*inet/generic/event.cCreated:	April 1995 by Philip Homburg <philip@f-mnx.phicoh.com>Implementation of an event queue.Copyright 1995 Philip Homburg*/#include "inet.h"#include "assert.h"#include "event.h"THIS_FILEevent_t *ev_head;static event_t *ev_tail;void ev_init(ev)event_t *ev;{	ev->ev_func= 0;	ev->ev_next= NULL;}void ev_enqueue(ev, func, ev_arg)event_t *ev;ev_func_t func;ev_arg_t ev_arg;{	assert(ev->ev_func == 0);	ev->ev_func= func;	ev->ev_arg= ev_arg;	ev->ev_next= NULL;	if (ev_head == NULL)		ev_head= ev;	else		ev_tail->ev_next= ev;	ev_tail= ev;}void ev_process(){	ev_func_t func;	event_t *curr;	while (ev_head)	{		curr= ev_head;		ev_head= curr->ev_next;		func= curr->ev_func;		curr->ev_func= 0;		assert(func != 0);		func(curr, curr->ev_arg);	}}int ev_in_queue(ev)event_t *ev;{	return ev->ev_func != 0;}/* * $PchId: event.c,v 1.6 2004/08/03 16:23:32 philip Exp $ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?