Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
labs
BIRD Internet Routing Daemon
Commits
84a7d7f7
Commit
84a7d7f7
authored
Nov 17, 1999
by
Martin Mareš
Browse files
ev_run() now returns whether the event has been requeued or not.
ev_run_list() now returns number of events which remain in the list.
parent
ffb59d24
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/event.c
View file @
84a7d7f7
...
...
@@ -50,11 +50,13 @@ ev_new(pool *p)
return
e
;
}
inline
void
inline
int
ev_run
(
event
*
e
)
{
if
(
!
e
->
hook
(
e
->
data
))
int
keep
=
e
->
hook
(
e
->
data
);
if
(
!
keep
)
ev_postpone
(
e
);
return
keep
;
}
inline
void
...
...
@@ -71,14 +73,16 @@ ev_schedule(event *e)
ev_enqueue
(
&
global_event_list
,
e
);
}
void
int
ev_run_list
(
event_list
*
l
)
{
node
*
n
,
*
p
;
int
keep
=
0
;
WALK_LIST_DELSAFE
(
n
,
p
,
*
l
)
{
event
*
e
=
SKIP_BACK
(
event
,
n
,
n
);
ev_run
(
e
);
keep
+=
ev_run
(
e
);
}
return
keep
;
}
lib/event.h
View file @
84a7d7f7
...
...
@@ -23,11 +23,11 @@ typedef list event_list;
extern
event_list
global_event_list
;
event
*
ev_new
(
pool
*
);
void
ev_run
(
event
*
);
int
ev_run
(
event
*
);
#define ev_init_list(el) init_list(el)
void
ev_enqueue
(
event_list
*
,
event
*
);
void
ev_schedule
(
event
*
);
void
ev_postpone
(
event
*
);
void
ev_run_list
(
event_list
*
);
int
ev_run_list
(
event_list
*
);
#endif
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment