Commit graph

30 commits

Author SHA1 Message Date
tchernobog 3e83f4db23 - Fix return type of Scheduler::get_policy() before going to bed
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@718 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:12:28 +00:00
tchernobog 22af0b9cdd - Add method to set a request state
- Work on step_forward() a little more
- Add extra check inside dynamic_thread()::decrease_remaining_time()


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@717 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 23:09:10 +00:00
tchernobog fcc9e93827 - Let the user disable the new GCC 4.0 visibility support
from configure. This is mainly there for buggy compilers / binutils.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@715 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 22:17:02 +00:00
tchernobog b7d61d5c56 - Fix compilation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@712 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 19:53:58 +00:00
tchernobog 5ab575dffd - Minor modifications to step_forward()
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@711 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 17:17:31 +00:00
elvez 401c569a9f - Updated interface of pyloader to comply with the new plugin management system`s requirements
- Commented a lot of code to make it compile-able. But still it doesn`t link (at least for me...)

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@710 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 15:05:04 +00:00
tchernobog a378239d60 - Only schedule Threads. Ditch support for Policies deciding
if they want to schedule Threads or Processes altogether
- Move setter methods for last_acquisition/last_release from
DynamicSchedulable to DynamicThread
- Rewrite aforesaid methods, along with the respective getter
methods, into Dynamic(Thread|Process)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@708 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 10:46:15 +00:00
tchernobog 736aa25456 - Change pkg-config file to use ${prefix}/include
rather thant ${prefix}/include/sgpemv2: users will
be able to use directives like "#include <sgpemv2/scheduler.hh>"
in their headers, which reduces name clashes.
- Make _mutex a protected member of Singleton, so that
inheriters can recycle it :-)
- Add exclusive access control for step_forward()
- Add two states (future and exhausted) to Request


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@707 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 10:03:43 +00:00
tchernobog 899e20323a - Write some more of Scheduler::step_forward()
- Noted some design lackings, warning the designers


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@706 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-04 09:30:45 +00:00
tchernobog 9856a86c87 - Start implementing Scheduler::step_forward(). Whoohooo!
- Changed Schedulable::get_remaining_time() in get_elapsed_time()


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@702 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 21:55:09 +00:00
tchernobog 94f7c1d127 - Fix compilation of libbackend.so
- Erased Scheduler::step_forward(): reimplementing from
scratch


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@701 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-03 20:55:19 +00:00
tchernobog b8f7083bfc - Write interface for History and ConcreteHistory
- Write interface for HistoryObserver
- Remove obsolete interfaces


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@690 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 15:27:30 +00:00
tchernobog 759b90b017 - Substitute the old SchedulableQueue with the new ReadyQueue
- Add interfaces for Process and Thread into the "sgpem.i" SWIG
interface file, change DynamicSchedulable into Schedulable
- Add dynamic_cast for the return value of ReadyQueue::get_item_at()
into the pyloader "sgpem.i" SWIG interface, so that a Schedulable
can be either recognized as a Thread or a Process
- TODO: wrap STL exceptions in SWIG interface
- Please note that code won't compile until the new History and
Scheduler::step_forward() will be in place. This is a known issue.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@689 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-02 13:51:03 +00:00
tchernobog 6b27a8461b - Pretty-indenting code
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@674 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-29 08:44:30 +00:00
tchernobog 66d46db357 - Separate template definition from template declaration
- Explicitly instantiate Singleton templates to be exported from libbackend.so
- Install only header files that are backend interfaces to be exposed to the user
- Don't use full path for including templates in header files
- Instantiate a couple of smart_ptr templates to have their symbols exported outside the DSO. This happens in history.cc. FIXME: the interface for History will definitely need to be reworked, and the two smart_ptr explicit instantiations removed.
- Change SWIG exported interface to make use of Schedulable instead of (Dynamic|Static)Schedulable
- Fix provided policies to make use of the new interface
- TODO: limit the use of smart_ptrs.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@653 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-23 13:06:39 +00:00
elvez 0a2f37345f - Temporarily disabled template-based singleton system because of a crash virtually surely caused by it
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@648 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-21 20:24:36 +00:00
tchernobog 383889a203 - Add unified Singleton support
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@643 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-21 09:09:50 +00:00
elvez 30d070a420 - Added SETPOLICY and LISTPOLICIES commands to text-based interface
- Fixed a bug preventing registration of managers in PoliciesGatekeeper

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@634 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-15 20:07:03 +00:00
elvez a1662de194 - Added the Schedulable interface
- Renamed SchedulableStatus to DynamicSchedulable
- Implemented almost all methods of DynamicSchedulable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@630 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-13 16:37:57 +00:00
elvez 1e75fe91f1 - Added Policy::wants() and updated related code. Scheduler::get_ready_queue() still always returns a process queue...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@615 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-09 16:51:53 +00:00
elvez da39407173 - removed Scheduler-initiated events
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@604 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-03 15:51:38 +00:00
elvez 4508ed017b -changing SchedulableList to SchedulableQueue: intermediate commit,
so SVN can let me use "mv"

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@602 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-06-03 14:40:19 +00:00
tchernobog ef733b37e8 - Update test-python_loader, do not link to libpyloader anymore
- TODO: sigsegv (due to an hidden vtable?)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@519 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-03-09 21:56:16 +00:00
tchernobog 0a6b34d6ab - Catch UserInterruptException launched from
PythonPolicy in Scheduler, but it cheerfully 
segfaults python...


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@464 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-26 23:38:25 +00:00
tchernobog 56534edb6c - Make libpyloader a loadable plugin (warning: won't work
on Window$ unless you change the string "libpyloader" to
"pyloader" into main.cc)
- Fix Makefile to support module creation and loading
- 2DO: 
	- Add a class into backend to load and manage plugins
	- Install plugins into separate directory
	- Remove hardcoded paths


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@458 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-25 12:21:30 +00:00
fpaparel 4482b98df7 - fixed a number of bugs
- added dummy_policy written in C++
- the interpreter is now finished (hopefully)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@366 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-21 11:09:55 +00:00
tchernobog 8c05219cec - Add newlines at the end of source files. I hope not having to do this
frequently! (it's a two-liner script, but nevertheless...)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@355 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-19 22:36:24 +00:00
fpaparel 6d5e9270a8 - added few frontend classes
- updated others from backend

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@330 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-15 22:58:18 +00:00
fpaparel 146b3c99cc - Now all backend classes are present (not all complete)
- Can't compile when trying to link with Python
         + check -pedantic parameter
         + when compiling main.cc there is no -I/..../Python parameter


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@321 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-13 11:32:05 +00:00
fpaparel e2a0c3f248 - added scheduler and other incomplete backend classes
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@319 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-02-12 17:12:54 +00:00