Commit graph

99 commits

Author SHA1 Message Date
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
Thomas Vander Stichele
f4046ced1c hahaha
Original commit message from CVS:
hahaha
2002-06-25 12:09:32 +00:00
Thomas Vander Stichele
1ecc22c610 blind flying adding more debug output cleaning up according to man pages
Original commit message from CVS:
blind flying
adding more debug output
cleaning up according to man pages
2002-06-25 12:08:10 +00:00
Wim Taymans
32f702aa20 Better error handling when mmap'ing
Original commit message from CVS:
Better error handling when mmap'ing
2002-06-15 16:12:20 +00:00
Wim Taymans
e4637a0a82 Some cleanups, more debugging info
Original commit message from CVS:
Some cleanups, more debugging info
2002-05-29 14:59:48 +00:00
Thomas Vander Stichele
de6c6bcc5d doc fixes
Original commit message from CVS:
doc fixes
2002-04-19 10:26:56 +00:00
Wim Taymans
d7a5d173c8 Documentation updates
Original commit message from CVS:
Documentation updates
Added dump to identity
Fix some warnings in gstelement
2002-03-31 14:04:50 +00:00
Andy Wingo
ed9b628168 filter newlines out of GST_DEBUG statements to reflect new core behavior fixes to adder's caps, again
Original commit message from CVS:
* filter newlines out of GST_DEBUG statements to reflect new core behavior
* fixes to adder's caps, again
2002-03-24 22:07:09 +00:00
Benjamin Otte
aadf99137f make sure cothread->priv is NULL when uninited because we now check it (added debugging line to gst_bin_remove while ...
Original commit message from CVS:
make sure cothread->priv is NULL when uninited because we now check it
(added debugging line to gst_bin_remove while debugging)
2002-02-24 19:08:30 +00:00
Wim Taymans
929b4bd3d1 Added a private field to the cothread state.
Original commit message from CVS:
Added a private field to the cothread state.
2002-02-23 13:41:17 +00:00
Wim Taymans
90355128b5 - Removed deprecated buffer flags.
Original commit message from CVS:
- Removed deprecated buffer flags.
- removed gst_element_signal_eos, replaced with gst_element_set_eos
to set the object to PAUSED, signal an eos event etc..
- small updates to documentation
- repair some plugins
2001-12-28 20:20:26 +00:00
Wim Taymans
e7f54b1e74 - Added a function to get the currently executing cothread
Original commit message from CVS:
- Added a function to get the currently executing cothread
- Removed some useless includes
- _interrupt now returns a boolean so the behaviour after the interrupt
can be controlled by the scheduler.
- Added a better way to set/get the default scheduler.
- make thread and pipeline get the default scheduler.
2001-12-27 00:47:41 +00:00
Wim Taymans
bd128c199c Tee Fixes. added cothread_stop (not used) improved the pad event dispatcher.
Original commit message from CVS:
Tee Fixes.
added cothread_stop (not used)
improved the pad event dispatcher.
added an event_received signal on the pad.
do less state changes in the autoplugger.
small scheduler fix.
2001-12-25 02:15:46 +00:00
Wim Taymans
c05a4511cd Removed the munmap for now
Original commit message from CVS:
Removed the munmap for now
2001-12-23 23:36:44 +00:00
Wim Taymans
6c538d527b Fix an event leak
Original commit message from CVS:
Fix an event leak
Ne need to save signals on longjmp
2001-12-23 14:50:44 +00:00
Wim Taymans
bdd6df925e Better cothread cleanup
Original commit message from CVS:
Better cothread cleanup
2001-12-23 14:27:48 +00:00
Wim Taymans
467035ce70 Never destroy the current cothread.
Original commit message from CVS:
Never destroy the current cothread.
Don't try to signal the scheduler if we don't have one
2001-12-22 23:19:17 +00:00
Wim Taymans
087dee1f62 This is an attempt at not segfaulting on errors but reporting some usefull info instead.
Original commit message from CVS:
This is an attempt at not segfaulting on errors but reporting some
usefull info instead.
- bin changes so errors can propagate.
- changed the _FAST macros to _CAST because that is what they do.
- removed all references to cothreads out of the core, they are
really a scheduler issue, handler with a sched_private gpointer.
- added a live buffer count, for debugging buffer leaks.
- added error checking in gst_scheduler_state_transition this solves the
"out of cothreads" problem.
- GST_ELEMENT_NO_ENTRY == GST_ELEMENT_INFINITE_LOOP
- added 2 private element flasg for use by the scheduler
(_COTHREAD_STOPPING) is now
- added scheduler entry points:
- _yield : to create possible scheduling points.
- _interrupt: to stop execution of an element.
- _error: to signal en error condition to the scheduler.
- improved error messages for pads.
- signal gst_element_error where appropriate.
- added the a new bin to the parent before entering it so one can reference
its children.
- queue memleak fixes on dispose.
- added possible deadlock detection in queue (turned off be default)
- GstBasicScheduler is a real class of its own now, hiding its internal
variables.
- GST_ELEMENT_IS_COTHREAD_STOPPING is gone. either call explicit _yield
operations, or make a sane loop.
- Better state change handling in filesrc. Better error reporting/recovery
too.
- updated core plugins.
- detect non decoupled elements on scheduler boundries and error.
2001-12-22 21:18:17 +00:00
Wim Taymans
f5affde61c - Reclaim cothread state even if the cothread was never activated after the free.
Original commit message from CVS:
- Reclaim cothread state even if the cothread was never activated after
the free.
- fix the bin state change when there are no more children.
- use a real method to signal the parent bin of a state change.
- move the state change policy in the scheduler.
- remove the unused and ridiculous state change event
- don't free the cothread state when the element is disabled. only free it
when the element is removed from the scheduler.
2001-12-20 20:03:10 +00:00