[Spread-cvs] commit: r590 - in branches/experimental-4.3-threaded/libspread-util: include src
jschultz at spread.org
jschultz at spread.org
Tue Sep 17 15:53:38 EDT 2013
Author: jschultz
Date: 2013-09-17 15:53:38 -0400 (Tue, 17 Sep 2013)
New Revision: 590
Modified:
branches/experimental-4.3-threaded/libspread-util/include/spu_events.h
branches/experimental-4.3-threaded/libspread-util/src/events.c
Log:
Further changes to new events code
Modified: branches/experimental-4.3-threaded/libspread-util/include/spu_events.h
===================================================================
--- branches/experimental-4.3-threaded/libspread-util/include/spu_events.h 2013-09-17 19:17:50 UTC (rev 589)
+++ branches/experimental-4.3-threaded/libspread-util/include/spu_events.h 2013-09-17 19:53:38 UTC (rev 590)
@@ -106,6 +106,9 @@
#define E_MIN_PRIORITY 0
+#define E_READ_FD READ_FD
+#define E_WRITE_FD WRITE_FD
+#define E_EXCEPT_FD EXCEPT_FD
#define E_DELTA_TIMER 3
#define E_ABSOLUTE_TIMER 4
#define E_PERIODIC_TIMER 5
@@ -169,14 +172,13 @@
void E_events_fini(E_events *e);
int E_events_in_queue(E_events *e, E_time_callback_fcn fcn, int code, void *data);
-int E_events_queue(E_events *e, E_time_callback_fcn fcn, int code, void *data, sp_time delta_time);
-int E_events_queue_absolute(E_events *e, E_time_callback_fcn fcn, int code, void *data, sp_time absolute_time);
-int E_events_queue_periodic(E_events *e, E_time_callback_fcn fcn, int code, void *data, sp_time periodic_time);
+int E_events_queue(E_events *e, E_time_callback_fcn fcn, int code, void *data, sp_time delta_time, E_priority p);
+int E_events_queue_absolute(E_events *e, E_time_callback_fcn fcn, int code, void *data, sp_time absolute_time, E_priority p);
+int E_events_queue_periodic(E_events *e, E_time_callback_fcn fcn, int code, void *data, sp_time periodic_time, E_priority p);
int E_events_dequeue(E_events *e, E_time_callback_fcn fcn, int code, void *data);
-int E_events_attach_fd(E_events *e, int fd, E_watch_type fd_type, E_fd_callback_fcn f, int code, void *d, E_priority p);
-int E_events_detach_fd(E_events *e, int fd, E_watch_type fd_type);
-int E_events_detach_fd_priority(E_events *e, int fd, E_watch_type fd_type, E_priority priority);
+int E_events_attach_fd(E_events *e, int fd, E_watch_type fd_type, E_fd_callback_fcn f, int code, void *d, E_priority p);
+int E_events_detach_fd(E_events *e, int fd, E_watch_type fd_type);
int E_events_set_active_threshold(E_events *e, E_priority priority);
int E_events_num_active(E_events *e, E_priority priority);
Modified: branches/experimental-4.3-threaded/libspread-util/src/events.c
===================================================================
--- branches/experimental-4.3-threaded/libspread-util/src/events.c 2013-09-17 19:17:50 UTC (rev 589)
+++ branches/experimental-4.3-threaded/libspread-util/src/events.c 2013-09-17 19:53:38 UTC (rev 590)
@@ -151,7 +151,6 @@
static int E_events_dispatch_notice(E_events *events, E_priority dispatch_lvl);
static int E_events_create_timer(E_events *e, sp_time TO, E_watch_type t, E_time_callback_fcn f, int code, void *d, E_priority p);
-static int E_events_attach_fd(E_events *e, int fd, E_watch_type t, E_fd_callback_fcn f, int code, void *d, E_priority p);
static void E_events_cancel_watch(E_events *events, E_watch *watch);
static int E_events_select_init(E_events *events);
@@ -607,12 +606,12 @@
/***************************************************************************************************************************
***************************************************************************************************************************/
-static int E_events_create_timer(E_events * events,
+static int E_events_create_timer(E_events *events,
sp_time timeout,
E_watch_type timer_type,
E_time_callback_fcn fcn,
int code,
- void * data,
+ void *data,
E_priority priority)
{
E_time_watch *time_watch = NULL;
@@ -1848,7 +1847,7 @@
int E_queue(E_time_callback_fcn fcn, int code, void *data, sp_time delta_time)
{
- return E_events_queue(&Events, fcn, code, data, delta_time);
+ return E_events_queue(&Events, fcn, code, data, delta_time, LOW_PRIORITY);
}
/***************************************************************************************************************************
@@ -1856,7 +1855,7 @@
int E_queue_absolute(E_time_callback_fcn fcn, int code, void *data, sp_time absolute_time)
{
- return E_events_queue_absolute(&Events, fcn, code, data, absolute_time);
+ return E_events_queue_absolute(&Events, fcn, code, data, absolute_time, LOW_PRIORITY);
}
/***************************************************************************************************************************
@@ -1864,7 +1863,7 @@
int E_queue_periodic(E_time_callback_fcn fcn, int code, void *data, sp_time periodic_time)
{
- return E_events_queue_periodic(&Events, fcn, code, data, periodic_time);
+ return E_events_queue_periodic(&Events, fcn, code, data, periodic_time, LOW_PRIORITY);
}
/***************************************************************************************************************************
@@ -1896,7 +1895,7 @@
int E_detach_fd_priority(int fd, E_watch_type fd_type, int priority)
{
- return E_events_detach_fd_priority(&Events, fd, fd_type, priority);
+ return E_events_detach_fd(&Events, fd, fd_type);
}
/***************************************************************************************************************************
@@ -2150,9 +2149,10 @@
E_time_callback_fcn fcn,
int code,
void *data,
- sp_time delta_time)
+ sp_time delta_time,
+ E_priority priority)
{
- return E_events_create_timer(events, delta_time, E_DELTA_TIMER, fcn, code, data, LOW_PRIORITY);
+ return E_events_create_timer(events, delta_time, E_DELTA_TIMER, fcn, code, data, priority);
}
/***************************************************************************************************************************
@@ -2162,9 +2162,10 @@
E_time_callback_fcn fcn,
int code,
void *data,
- sp_time absolute_time)
+ sp_time absolute_time,
+ E_priority priority)
{
- return E_events_create_timer(events, absolute_time, E_ABSOLUTE_TIMER, fcn, code, data, LOW_PRIORITY);
+ return E_events_create_timer(events, absolute_time, E_ABSOLUTE_TIMER, fcn, code, data, priority);
}
/***************************************************************************************************************************
@@ -2174,9 +2175,10 @@
E_time_callback_fcn fcn,
int code,
void *data,
- sp_time periodic_time)
+ sp_time periodic_time,
+ E_priority priority)
{
- return E_events_create_timer(events, periodic_time, E_PERIODIC_TIMER, fcn, code, data, LOW_PRIORITY);
+ return E_events_create_timer(events, periodic_time, E_PERIODIC_TIMER, fcn, code, data, priority);
}
/***************************************************************************************************************************
@@ -2335,40 +2337,11 @@
}
return ret;
-
-#if 0
- /* TODO: implement specific priority levels? */
-
- int ret = -1; /* NOTE: backwards compatability */
- E_priority priority;
-
- /* cancel any previously existing watch */
-
- for (priority = E_MIN_PRIORITY; priority <= events->max_priority; ++priority) {
-
- if (E_events_detach_fd(events, fd, fd_type, priority) == 0) {
- ret = 0;
- }
- }
-
- return ret;
-#endif
}
/***************************************************************************************************************************
***************************************************************************************************************************/
-int E_events_detach_fd_priority(E_events *events,
- int fd,
- E_watch_type fd_type,
- E_priority priority)
-{
- return E_events_detach_fd(events, fd, fd_type); /* TODO: implement specific priority lvls? */
-}
-
-/***************************************************************************************************************************
- ***************************************************************************************************************************/
-
int E_events_set_active_threshold(E_events *events,
E_priority priority)
{
More information about the Spread-cvs
mailing list