[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