From: Andy W. <wi...@us...> - 2002-01-28 01:56:20
|
Update of /cvsroot/gstreamer/gstreamer/gst/cothreads In directory usw-pr-cvs1:/tmp/cvs-serv6438 Modified Files: Makefile.am cothreads.c Added Files: test-cothreads.c Log Message: it works, yo --- NEW FILE: test-cothreads.c --- #include <cothreads.h> cothread *main_context; cothread *ctx; int threadnum = 0; void co_thread (void) { printf ("1.%d: sleeping 1s in thread %d...\n", threadnum, threadnum); sleep (1); printf ("1.%d: returning to cothread 0\n", threadnum); cothread_switch (ctx, main_context); } void pthread (void* unused) { char *skaddr; printf ("1: saving the main context\n"); main_context = cothread_init(NULL); while (threadnum < 25) { printf ("1: spawning a new cothread\n"); ctx = cothread_create (co_thread); printf ("1: switching to cothread %d...\n", ++threadnum); cothread_switch (main_context, ctx); printf ("1: back now, looping\n"); } } int main (int argc, char *argv[]) { GThread *thread; g_thread_init(NULL); printf ("0: creating the gthread\n"); thread = g_thread_create (pthread, NULL, TRUE, NULL); printf ("joining the gthread\n"); g_thread_join (thread); printf ("exiting\n"); exit (0); } Index: Makefile.am =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/cothreads/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile.am 2002/01/28 01:29:10 1.7 +++ Makefile.am 2002/01/28 01:56:17 1.8 @@ -12,13 +12,15 @@ libgstcothreads_la_LIBADD = libpth-mctx.la $(GLIB_LIBS) libgstcothreads_la_CFLAGS = $(GLIB_CFLAGS) -noinst_PROGRAMS = test-pth test-pth-pthreads test-pthreads test-pth-pthreads2 +noinst_PROGRAMS = test-pth test-pth-pthreads test-pthreads test-pth-pthreads2 test-cothreads noinst_HEADERS = linuxthreads.h cothreads-private.h cothreads.h test_pth_LDADD = libpth-mctx.la test_pth_pthreads_LDADD = libpth-mctx.la -lpthread test_pthreads_LDADD = -lpthread test_pth_pthreads2_LDADD = -lpthread libpth-mctx.la +test_cothreads_CFLAGS = $(GLIB_CFLAGS) +test_cothreads_LDADD = libgstcothreads.la BUILT_SOURCES = pth_p.h Index: cothreads.c =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/gst/cothreads/cothreads.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- cothreads.c 2002/01/28 01:29:10 1.1 +++ cothreads.c 2002/01/28 01:56:17 1.2 @@ -21,6 +21,7 @@ #include "cothreads-private.h" +#define HAVE_LINUXTHREADS #ifdef HAVE_LINUXTHREADS static cothread_attr cothread_attr_default = |