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 + -
显示快捷键?