[asterisk-commits] dhubbard: trunk r115268 - in /trunk: include/asterisk/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri May 2 22:40:33 CDT 2008


Author: dhubbard
Date: Fri May  2 22:40:32 2008
New Revision: 115268

URL: http://svn.digium.com/view/asterisk?view=rev&rev=115268
Log:
A taskprocessor is an object that has a name, a task queue, and an event processing thread.  Modules reference a taskprocessor, push tasks into the taskprocessor as needed, and unreference the taskprocessor when the taskprocessor is no longer needed.

A task wraps a callback function pointer and a data pointer and is managed internal to the taskprocessor subsystem.  The callback function is responsible for releasing task data.

Taskprocessor API
 * ast_taskprocessor_get(..) - returns a reference to a taskprocessor
 * ast_taskprocessor_unreference(..) - releases reference to a taskprocessor
 * ast_taskprocessor_push(..) - push a task into a taskprocessor queue

Check doxygen for more details

Added:
    trunk/include/asterisk/taskprocessor.h
      - copied unchanged from r115267, team/group/taskprocessors/include/asterisk/taskprocessor.h
    trunk/main/taskprocessor.c
      - copied unchanged from r115267, team/group/taskprocessors/main/taskprocessor.c
Modified:
    trunk/include/asterisk/_private.h
    trunk/main/Makefile
    trunk/main/asterisk.c

Modified: trunk/include/asterisk/_private.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/_private.h?view=diff&rev=115268&r1=115267&r2=115268
==============================================================================
--- trunk/include/asterisk/_private.h (original)
+++ trunk/include/asterisk/_private.h Fri May  2 22:40:32 2008
@@ -36,6 +36,7 @@
 void ast_autoservice_init(void);	/*!< Provided by autoservice.c */
 int ast_http_init(void);		/*!< Provided by http.c */
 int ast_http_reload(void);		/*!< Provided by http.c */
+int ast_tps_init(void); 		/*!< Provided by taskprocessor.c */
 
 /*!
  * \brief Reload asterisk modules.

Modified: trunk/main/Makefile
URL: http://svn.digium.com/view/asterisk/trunk/main/Makefile?view=diff&rev=115268&r1=115267&r2=115268
==============================================================================
--- trunk/main/Makefile (original)
+++ trunk/main/Makefile Fri May  2 22:40:32 2008
@@ -30,7 +30,7 @@
 	cryptostub.o sha1.o http.o fixedjitterbuf.o abstract_jb.o \
 	strcompat.o threadstorage.o dial.o event.o adsistub.o audiohook.o \
 	astobj2.o hashtab.o global_datastores.o $(RESAMPLE_OBJS) version.o \
-	features.o
+	features.o taskprocessor.o
 
 # we need to link in the objects statically, not as a library, because
 # otherwise modules will not have them available if none of the static

Modified: trunk/main/asterisk.c
URL: http://svn.digium.com/view/asterisk/trunk/main/asterisk.c?view=diff&rev=115268&r1=115267&r2=115268
==============================================================================
--- trunk/main/asterisk.c (original)
+++ trunk/main/asterisk.c Fri May  2 22:40:32 2008
@@ -2815,6 +2815,7 @@
 	ast_builtins_init();
 	ast_utils_init();
 	tdd_init();
+	ast_tps_init();
 
 	if (getenv("HOME")) 
 		snprintf(filename, sizeof(filename), "%s/.asterisk_history", getenv("HOME"));




More information about the asterisk-commits mailing list