Commit Graph

67 Commits

Author SHA1 Message Date
tchernobog 99135b1237 Fix compilation warnings and a couple of errors due to GCC -pedantic flags
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1329 3ecf2c5c-341e-0410-92b4-d18e462d057c
2008-11-08 21:17:11 +00:00
tchernobog 989f9a27ef - Update license to GPLv3
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1322 3ecf2c5c-341e-0410-92b4-d18e462d057c
2007-06-30 13:31:19 +00:00
matrevis 859df07a89 - Gettext support to resource policies descriptions.
- Renamed default_resource_policy_manager to match the design.
- Audited some other files.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1232 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-17 15:32:56 +00:00
matrevis b976aaaa34 - Audited schedulable.hh
- Removed holt_graph.* since they were unused
- Updated makefile accordingly


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1227 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-17 13:44:17 +00:00
paolo a2c6df90b7 - program files documentation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1221 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-17 08:48:27 +00:00
jinx 85982217db auditing performed, made some changes like removed std, or corrected the name of the file, and in come cases added the licence text where it was missing --gv
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1220 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-17 01:19:52 +00:00
paolo 77eca3ba4e - program files documentation
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1210 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 21:36:46 +00:00
tchernobog 93feee1ee5 - Cleanup GlobalPreferences badly cluttered interface, removing
deprecated methods and things that don't exist in the design
- Put the ``sgpemrc'' application configuration file into
the proper place (``$HOME/.sgpemv2''), creating the directory
if it doesn't exist, as per specs
- Disable test-global_preferences_serialization building since
it doesn't work with the new interface (todo: create a class inheriting 
from GlobalPreferences, and redefining get_config_filename() to return
a tmpname to a mkfifo() pipe connected to the stdout. If you don't understand 
a word of this, you're not a Real Unix Programmer(tm))
- Update other files to use the new interface


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1178 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-15 21:31:31 +00:00
elvez bd1b8f879b - Still a bit of portability-related changes. Now it is almost totally portable to Windows (only path of config file should remain...)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1175 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-15 16:41:24 +00:00
elvez 90c562006a - Audited some files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1148 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-14 15:10:48 +00:00
tchernobog 9c50d712f3 - Fix bug in FCFS. Thanks, Filippo.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1126 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-13 11:59:44 +00:00
tchernobog eec74de632 - Poll more often to make "jump_to()" faster. Also increase
time given to a policy before judging it dead to ~5 seconds.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1076 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-09 12:30:49 +00:00
tchernobog 34825da69b - Expose the Schedulable::set_priority_push() method to python and
outside the backend in general (else, having a 
get_current_priority() method was quite pointless)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1070 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-08 20:34:05 +00:00
tchernobog aedac205ea - Add a warning about quicksort being stable only with some
operators


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1066 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-08 15:09:36 +00:00
elvez 0c02a29f8b - "Beautify" debug printout from Python policy manager
- Added support for resource policies in textual frontend

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1064 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-08 14:15:24 +00:00
elvez 284490f271 - Reduced verbosity of PythonPolicyManager`s policies collection process
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1060 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-08 10:11:02 +00:00
tchernobog 0f718f2899 - Fix all includes, separating header files to be installed
from other headers. Take it while it's hot.
- To all those that lock source files: you'll burn in hell. Really.
It'll be painful, dreadful and above all *long*. *Eternally* long.
And there'll be Freddy Mercury and The Queen playing, *all the time*, 
day after boring, useless, sorrowful day. The song
will be *``Radio Ga-Ga''*, in secula secularum amen.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1033 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 00:43:00 +00:00
tchernobog dbfc7393ed - Fix all policies to ensure that the sort *IS* stable
- Erase the newly selected running thread from the ready queue
as per Marco feedback (or so I believe to have understood...)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1024 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 13:04:31 +00:00
tchernobog df4b1b4205 - Merge branch 0.3-r1003--scheduler-manage-preemption into trunk
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1023 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 12:29:22 +00:00
tchernobog ad774067e1 - Add lottery and plain round robin cpu policies. I didn't test
them extensively, mind you. Closes task #14.
- Added documentation for each cpu policy
- Manage extra-exception into PythonCPUPolicy (when the .py
file doesn't contain a similarly named class)
- Update exception output in GuiBuilder to make it slightly
more descriptive


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@983 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-01 17:03:34 +00:00
elvez 9e61332a12 - Removed CPUPolicyManager::init(), it was deprecated
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@953 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 21:40:02 +00:00
tchernobog c30a3674f2 - Use deletor for deleting all policies from the manager
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@952 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-28 21:01:32 +00:00
elvez 696c513ed2 - TODO and FIXME reduced to 38
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@941 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-25 22:43:04 +00:00
tchernobog 2ff87baadf - Give finishing touches to PythonCPUPolicy: implement describe()
taking the __doc__ class attribute from the Python policy


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@896 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-17 22:04:25 +00:00
tchernobog 45ef305a1b - Incapsulate code so that the hack we previously used in CPUPoliciesGatekeeper isn't needed anymore
- Now CPUPolicy has a callback method for scripting languages, but it is up to derived classes to take
mutexes and set the value when needed (maybe we can improve this?)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@862 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-14 14:28:41 +00:00
elvez b1327341af - Mini commit: disabled a redundant line in test-python-loader
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@851 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-13 14:26:40 +00:00
tchernobog 9ff7502bb4 - This was an *evil* "chicken-or-egg-first" bug in CPUPoliciesGatekeeper. Now
CPUPolicy->activate() should run properly.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@846 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-12 17:04:21 +00:00
elvez 48fc2f5a00 - Added still more error checking to PythonCPUPolicy. But the code which calls its methods should be updated to handle the new exceptions...
- Added a base class for cpu policy exceptions to make simpler their catching
- Implemented all numeric fields in dialogs with spinboxes, with bounds checking

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@838 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-10 00:42:17 +00:00
tchernobog d3c7b46853 - Give code a round of indentation. Thank astyle, not me.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@837 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:38:45 +00:00
tchernobog 3968bc7cbd - Fix CPUPolicy.get_parameters() in Python with a simple yet effective hack
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@835 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 14:01:46 +00:00
tchernobog 86308ca185 - Revert back to old behaviour. Still wrong, but at least understandable
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@834 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 13:41:52 +00:00
tchernobog 72e562e803 - Try to make CPUPolicy.get_parameters() and RR-Priority work. Won't
run.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@833 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 13:37:42 +00:00
elvez addad6aa26 - Applied Matteo`s tips to the error handling code. Now all loading errors whould be handled. Don`t know about runtime errors, though
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@832 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 13:24:42 +00:00
elvez 6911676b53 - Added some code for better error-reporting in case of malformed policies. Actually it`s commented because it doesn`t work...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@831 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-09 00:50:45 +00:00
elvez 0138387a7f - Added the LOAD command to TextSimulation, and the classic question made to user on replacing an unsaved simulation
- Changed the way syntactically incorrect python policies are handled, we no more exit abruptly

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@829 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-08 00:20:56 +00:00
elvez 10091d7a16 - Added ResourcePolicyManager
- Removed obsolete files

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@815 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 23:38:52 +00:00
tchernobog 1961283f85 - Use strictier naming scheme for pyloader
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@812 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 22:06:20 +00:00
tchernobog 43b817aaed - Rename Policy to CPUPolicy where appropriate
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@811 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-08-02 21:57:36 +00:00
tchernobog 1d34e1f592 - Draft first version of rr_priority (incomplete, will need some more
exported interface)
- Add to the Makefile the glade files


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@804 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-31 22:29:42 +00:00
tchernobog 96e8198d83 - Fix SJF to use the new exported interface. Maybe we could
add a convenience function "get_remaining_time()" for the user
commodity.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@803 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-31 21:56:46 +00:00
tchernobog 25e5a7319b - Add CairoElements
- Start code for double buffering in custom widgets, using
an off-screen pixmap. Problem: we don't know the height from the 
beginning


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@798 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-28 15:24:56 +00:00
tchernobog 6c79bc361c - Fix deadlock that blocked PythonPolicy::sort_queue
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@796 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-28 12:21:49 +00:00
elvez 6a88e3d85e - Added NullPolicyException to scheduler
- Started code for printing the state of the scheduling
- Fixed a bug in the copy constructor of DynamicThread

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@794 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-23 22:27:33 +00:00
elvez 66a2d414f2 - Fixed test-pyloader
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@791 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-22 14:47:39 +00:00
elvez 5e40f9a8c1 - Fixed a problem with test-pyloader, now it starts, but it segfaults in no time
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@790 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-21 23:41:06 +00:00
tchernobog bfbcc71e72 - Force initialization of the PythonPolicyManager
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@784 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-20 08:43:58 +00:00
tchernobog 95ef5eba53 - Fix compilation of test-python_loader (which doesn't f*ckin' work).
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@781 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-19 14:48:53 +00:00
elvez 6150af3d30 - Fixed some bugs in command processing, added the configure-cpu-policy command
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@748 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-10 22:28:51 +00:00
elvez 45cc6733e4 - Fixed plugin interface. Now both plugins are loaded. Not tried calling the exported functions, though...
- To make sure libraries are not loaded multiple times, only .so files are considered. Beware that this is not portable

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@731 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 17:03:04 +00:00
tchernobog 1b018234be - Make me compile! (this doesn't necessarily mean it runs, though.)
- Fix SWIG interface to correctly manage things
- PythonPolicyManager isn't a singleton anymore. Since I did this in
a bit of a hurry, check the modifications are right


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@725 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-07-05 12:46:12 +00:00