Commit graph

117 commits

Author SHA1 Message Date
Wim Taymans
6d42edd550 gst/: Aplied part of patch #157127: Cleanup of issues reported by sparse.
Original commit message from CVS:
reviewed by: Wim Taymans, Ronald Bultje.

* gst/cothreads.c: (cothread_create):
* gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
(gst_bin_child_state_change_func):
* gst/gstbuffer.c: (gst_buffer_span):
* gst/gstelement.c: (gst_element_get_index),
(gst_element_get_event_masks), (gst_element_get_query_types),
(gst_element_get_formats):
* gst/gsterror.c: (_gst_core_errors_init),
(_gst_library_errors_init), (_gst_resource_errors_init),
(_gst_stream_errors_init):
* gst/gstobject.c: (gst_object_default_deep_notify):
* gst/gstpad.c: (gst_pad_get_event_masks),
(gst_pad_get_internal_links_default):
* gst/gstplugin.c: (gst_plugin_register_func),
(gst_plugin_get_module):
* gst/gststructure.c: (gst_structure_get_string),
(gst_structure_get_abbrs), (gst_structure_from_abbr),
(gst_structure_to_abbr):
* gst/gstutils.c: (gst_print_element_args):
* gst/schedulers/gstoptimalscheduler.c: (add_to_group),
(setup_group_scheduler), (gst_opt_scheduler_iterate):
Aplied part of patch #157127: Cleanup of issues reported by
sparse.
Also do not try to use cothreads when there is no cothread
context yet.
2004-11-02 15:02:12 +00:00
David Schleef
ca7539c40e Changes to handle compilers that don't have variadic macro support. In particular, glib headers define some inlines ...
Original commit message from CVS:
Changes to handle compilers that don't have variadic macro
support.  In particular, glib headers define some inlines
that need G_LOG_DOMAIN defined.  Additional fixes for MSVC
builds.
* gst/Makefile.am:
* gst/cothreads.c:
* gst/elements/gstfdsink.c:
* gst/elements/gstfdsrc.c:
* gst/elements/gstfilesink.c:
* gst/elements/gstfilesrc.c:
* gst/gst_private.h:
* gst/gstatomic.c:
* gst/gstcaps.c: (gst_caps_append):
* gst/gstcpu.c: (gst_cpuid_i386):
* gst/gstelement.c:
* gst/gsterror.c:
* gst/gstfilter.c:
* gst/gstinfo.h:
* gst/gstprobe.c:
* gst/gstquery.c:
* gst/gstregistry.c:
* gst/gststructure.c:
* gst/gsttaginterface.c:
* gst/gsttrace.c: (gst_trace_new):
* gst/gsttrashstack.c:
* gst/gsturi.c:
* gst/gstvalue.c:
* gst/parse/grammar.y:
* gst/parse/parse.l:
* tools/gst-inspect.c: (main):
* tools/gst-launch.c: (main):
* tools/gst-xmlinspect.c: (PUT_STRING):
2004-05-07 02:36:28 +00:00
Benjamin Otte
ac5674b03b gst/: implement gst_pad_collect as replacement for gst_pad_select.
Original commit message from CVS:
* gst/gstpad.c: (gst_pad_collect_array), (gst_pad_collectv),
(gst_pad_collect), (gst_pad_collect_valist), (gst_pad_selectv),
(gst_pad_select):
* gst/gstpad.h:
* gst/gstscheduler.c: (gst_scheduler_pad_select),
(gst_scheduler_lock_element), (gst_scheduler_unlock_element):
* gst/gstscheduler.h:
implement gst_pad_collect as replacement for gst_pad_select.
deprecate gst_pad_select and gst_scheduler_(un)lock_element
add new flag GST_SCHEDULER_FLAG_NEW_API for API that implements the
new pad_select, lock and unlock calls.
* gst/cothreads.c: (cothread_destroy), (cothread_switch):
* gst/cothreads.h:
* gst/schedulers/cothreads_compat.h:
* gst/schedulers/gthread-cothreads.h:
remove unused cothread_lock and cothread_unlock calls
* gst/schedulers/entryscheduler.c:
(gst_entry_scheduler_class_init), (gst_entry_scheduler_init),
(_can_schedule_loop), (gst_entry_scheduler_get_handler),
(gst_entry_scheduler_pad_select):
update to new API
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init), (gst_basic_scheduler_init),
(gst_basic_scheduler_pad_select):
remove useless lock and unlock calls, update pad_select to new API
(untested)
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove useless select, lock and unlock function calls
* gst/elements/gstaggregator.c: (gst_aggregator_loop):
use gst_pad_collect instead of gst_pad_select
2004-04-04 02:36:12 +00:00
Thomas Vander Stichele
7baa6c18e7 don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:27:17 +00:00
Thomas Vander Stichele
a967370df5 gst-indent run on core
Original commit message from CVS:
gst-indent run on core
2004-03-13 15:27:01 +00:00
David Schleef
1f24aab8be gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is missing (#132991)
Original commit message from CVS:
* gst/cothreads.c: Add another fallback if MAP_ANONYMOUS is
missing (#132991)
2004-01-30 21:26:15 +00:00
Benjamin Otte
4a549c798b fix missing include for OS X (bug 126069) - HEAD should compile on OS X now
Original commit message from CVS:
fix missing include for OS X (bug 126069) - HEAD should compile on OS X now
2003-11-04 17:24:46 +00:00
Benjamin Otte
803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Wim Taymans
5af24ec4e5 - removed an assert, mmaping the stack of another thread seems to work fine.
Original commit message from CVS:
- removed an assert, mmaping the stack of another thread seems to work fine.
This makes the cothread based scheduler work again with the new GstThread.
2003-04-19 11:50:27 +00:00
David Schleef
393033c6fa Convert %lld and %llu in printf formats to G_G[U]INT64_FORMAT. Fix pointer<->int conversion. Fixes warnings on alpha.
Original commit message from CVS:
Convert %lld and %llu in printf formats to G_G[U]INT64_FORMAT.  Fix
pointer<->int conversion.  Fixes warnings on alpha.
2003-02-01 20:29:27 +00:00
Brian Cameron
d13abb525a + Fixed #includes in gst/cothreads.c so that configure.h before processing #ifdef HAVE_UCONTEXT_H, so it gets handled...
Original commit message from CVS:
+ Fixed #includes in gst/cothreads.c so that configure.h before
processing #ifdef HAVE_UCONTEXT_H, so it gets handled properly.
+ Fixed libs/ext/cothreads so that it doesn't require -Wall/-Werror when
compiling with Forte.
2003-01-31 15:41:45 +00:00
David Schleef
fb27bbee37 Remove GCC-ism used to find current stack pointer, and use this opportunity to clean up the code slightly. Based on ...
Original commit message from CVS:
Remove GCC-ism used to find current stack pointer, and use this
opportunity to clean up the code slightly.  Based on patch from
Brian Cameron.
2003-01-21 22:01:37 +00:00
Wim Taymans
6653167f11 - Remove annoying \n from cothread INFO/DEBUG messages
Original commit message from CVS:
- Remove annoying \n from cothread INFO/DEBUG messages
- only set an element to PAUSED when it gave an error during PLAYING
- ensure internal consistency of opt scheduler structures
- Added mex_recursion to opt scheduler
2003-01-01 04:28:33 +00:00
Wim Taymans
8c5466095f Renamed the thread argument to cothread to avoid confusion
Original commit message from CVS:
Renamed the thread argument to cothread to avoid confusion
Documentation updates
2002-12-14 16:20:41 +00:00
Wim Taymans
29e2850eff Documentation updates
Original commit message from CVS:
Documentation updates
2002-12-14 13:02:16 +00:00
David Schleef
af978603db Clean up cothread destruction code
Original commit message from CVS:
Clean up cothread destruction code
2002-12-10 04:05:14 +00:00
David Schleef
384d119c72 Lots of new assertions and debugging
Original commit message from CVS:
Lots of new assertions and debugging
2002-12-10 04:01:09 +00:00
David Schleef
29f657f52e Added setting of _gst_debug_cothread_index for debugging
Original commit message from CVS:
Added setting of _gst_debug_cothread_index for debugging
2002-12-10 03:59:15 +00:00
David Schleef
2fed56b4a8 Removing unused code related to stack allocation (cothreads_stackquery(), gst_scheduler_get_preferred_stack())
Original commit message from CVS:
Removing unused code related to stack allocation (cothreads_stackquery(),
gst_scheduler_get_preferred_stack())
2002-12-06 23:05:26 +00:00
Wim Taymans
a58c54c2ee Fix valloc bug found by jmi25@cam.ac.uk, closes bug #100553. removed dead code
Original commit message from CVS:
Fix valloc bug found by jmi25@cam.ac.uk, closes bug #100553.
removed dead code
2002-12-06 20:02:24 +00:00
David Schleef
aff80e14d7 refactor cothread stack mmap code. Add makecontext() as an option for initial stack preparation.
Original commit message from CVS:
refactor cothread stack mmap code.  Add makecontext() as an option
for initial stack preparation.
2002-12-05 01:50:31 +00:00
David Schleef
89994cf808 Add some assertions to check that we're running inside the correct thread when playing with that thread's cothreads
Original commit message from CVS:
Add some assertions to check that we're running inside the correct
thread when playing with that thread's cothreads
2002-12-04 00:07:13 +00:00
David Schleef
f161e16a44 Change GPrivate usage to GStaticPrivate, assuming it's more trustworthy
Original commit message from CVS:
Change GPrivate usage to GStaticPrivate, assuming it's more trustworthy
2002-12-03 22:44:49 +00:00
David Schleef
83bc63d787 Add assertion in cothread_get_context()
Original commit message from CVS:
Add assertion in cothread_get_context()
2002-12-03 21:02:55 +00:00
Wim Taymans
d8712f073b Used glib macros for no_intrument
Original commit message from CVS:
Used glib macros for no_intrument
2002-11-29 18:10:21 +00:00
Thomas Vander Stichele
35387bca47 random cleanups and paranoia checks
Original commit message from CVS:
random cleanups and paranoia checks
2002-11-29 13:59:30 +00:00
David Schleef
774edda66b Add assertion to make sure that we're in the thread containing the cothread we're trying to switch to.
Original commit message from CVS:
Add assertion to make sure that we're in the thread containing the
cothread we're trying to switch to.
2002-11-21 00:54:32 +00:00
David Schleef
2b647a953c Cleaned up cothread_create(), added comments, added code to unmap a guard page.
Original commit message from CVS:
Cleaned up cothread_create(), added comments, added code to unmap a
guard page.
2002-11-19 02:25:52 +00:00
Thomas Vander Stichele
8fbc440cc3 a little cleanup also, clear the global we use here so we can reuse cothreads
Original commit message from CVS:
a little cleanup
also, clear the global we use here so we can reuse cothreads
2002-11-18 22:44:47 +00:00
David Schleef
179a63446c Move stack_top code from cothread_create() to cothread_context_init(), since we only need to calculate it once.
Original commit message from CVS:
Move stack_top code from cothread_create() to cothread_context_init(),
since we only need to calculate it once.
2002-11-15 09:51:41 +00:00
Thomas Vander Stichele
eb5368cbf7 on the negative side, I have to add the mmap back or else it segfaults on the positive side, with ds's fix for stack_...
Original commit message from CVS:
on the negative side, I have to add the mmap back or else it segfaults
on the positive side, with ds's fix for stack_top, I haven't had a
segfault in any of the thread tests since ;)
Let's cross fingers here
2002-11-14 13:35:13 +00:00
David Schleef
5fa7e059eb Fix up allocation of stack space for a cothread. Previous code did not allow for the underlying threading model to i...
Original commit message from CVS:
Fix up allocation of stack space for a cothread.  Previous code did
not allow for the underlying threading model to insert an unmapped
guard page.
2002-11-14 11:14:52 +00:00
Wim Taymans
a92661f761 Small cleanup
Original commit message from CVS:
Small cleanup
2002-11-02 13:15:10 +00:00
David Schleef
81c1506cd4 remove debugging message
Original commit message from CVS:
remove debugging message
2002-11-02 00:41:11 +00:00
David Schleef
e7db7a70ad Change from pthreads to GThreads
Original commit message from CVS:
Change from pthreads to GThreads
2002-11-01 21:38:39 +00:00
Thomas Vander Stichele
3a5b408709 useful comments change thread -> cothread in varnames where it's applicable code cleanups
Original commit message from CVS:
* useful comments
* change thread -> cothread in varnames where it's applicable
* code cleanups
2002-09-12 18:56:31 +00:00
Thomas Vander Stichele
76d31f5af1 readable cleanups
Original commit message from CVS:
readable cleanups
2002-08-13 14:11:33 +00:00
Thomas Vander Stichele
c1e2b0009b fix for older glibc's
Original commit message from CVS:
fix for older glibc's
2002-08-13 13:56:05 +00:00
Wim Taymans
1975b199d2 Turn some g_prints into g_warnings as that's what they really are
Original commit message from CVS:
Turn some g_prints into g_warnings as that's what they really are
2002-07-28 01:04:33 +00:00
Andy Wingo
efafdb2aa6 be more lenient when loading unconnected pads
Original commit message from CVS:
be more lenient when loading unconnected pads
2002-07-12 19:13:19 +00:00
Thomas Vander Stichele
a64e400a97 lioux's virtual patch
Original commit message from CVS:
lioux's virtual patch
2002-07-11 21:38:23 +00:00
Wim Taymans
80c371342b This one removes the unused code..
Original commit message from CVS:
This one removes the unused code..
2002-07-08 19:10:11 +00:00
Christian Schaller
cc682cae6c commented out the munmap stuff again
Original commit message from CVS:
commented out the munmap stuff again
2002-06-29 16:26:47 +00:00
Thomas Vander Stichele
a155db2bfb more protective programming cothread 0 cleans up higher cothreads if they're still around use a magic number to prote...
Original commit message from CVS:
more protective programming
cothread 0 cleans up higher cothreads if they're still around
use a magic number to protect against mem corruption in the struct
flames welcome
2002-06-28 10:58:05 +00:00
Thomas Vander Stichele
781f489e87 no newlines
Original commit message from CVS:
no newlines
2002-06-27 22:24:36 +00:00
Thomas Vander Stichele
aa55a0450d no newlines
Original commit message from CVS:
no newlines
2002-06-27 22:23:51 +00:00
Thomas Vander Stichele
ef2f6e1fc4 ok, my latest added error checking and stuff this reverts uraeus's patch but should tell us what goes wrong with munmap
Original commit message from CVS:
ok, my latest added error checking and stuff
this reverts uraeus's patch but should tell us what goes wrong with munmap
2002-06-27 22:17:17 +00:00
Christian Schaller
7cc370b0bf Fixes suggested by thomasvs to get rhythmbox working with basic threads
Original commit message from CVS:
Fixes suggested by thomasvs to get rhythmbox working with basic threads

- int res;
+ int res = 0;

-  res = munmap ((void *) thread, COTHREAD_STACKSIZE);
+/*    res = munmap ((void *) thread, COTHREAD_STACKSIZE); */
2002-06-27 21:35:56 +00:00
Thomas Vander Stichele
8433fe5775 some debug info remove the preventive munmap reinstate the other munmap for cothread stocks which really should be th...
Original commit message from CVS:
some debug info
remove the preventive munmap
reinstate the other munmap for cothread stocks which really should be there IMO
2002-06-27 15:52:13 +00:00
Thomas Vander Stichele
b7bc06aee5 ok, this seems to be the right fix for the basic scheduler.
Original commit message from CVS:
ok, this seems to be the right fix for the basic scheduler.
I'd appreciate it if :
a) someone looks over these minimal changes and tells me if they're done
in the right way (especially the alignment argument ;))
b) others run lots of pipes with basic and tell me if they still have
issues
If all goes well I want to revert to the basic scheduler and do a release
2002-06-26 08:22:17 +00:00