Diff: SicsInitializer

Search SINQ Wiki:
SINQ LIN

SINQ Wiki
- Main Page
- Search SINQ Wiki
- Sample Environment
- Probenumg. Intern
- Troubleshooting SICS

This Page
- Page Info
- Printer Friendly

Referenced by
NewFeaturesInSICS

Wiki Info
- Unused pages
- Undefined pages
- RecentChanges
- Page Index
- System Info
- JSPWiki Docu
- SandBox
- OneMinuteWiki
- Create a New Page




JSPWiki v2.0.52


Difference between version 4 and version 3:
Lines 4-7 were replaced by lines 4-8
- one list when adding a new feature. Let us look at the
- difference when adding a command or driver. Before using this
- scheme, there were many different places in psi/psi.c where
- modifications had to be added:
+ one list when adding a new feature. The aim is not
+ to make the source code shorter. In fact, the initialization
+ code is just moved from a central place to the modules.
+ The main goal is to have a better structure of the code,
+ which should be easier to maintain, and less error-prone.
At line 8 added 4 lines.
+ Let us look at the difference when adding a command or driver.
+ Before using this scheme, there were many different places in
+ psi/psi.c where modifications had to be added:
+
Line 19 was replaced by line 24
- ** in the case of an envitonment driver, also add an "else if"
+ ** in the case of an environment driver, also add an "else if"
Lines 24-29 were replaced by lines 29-54
- In this function, for standalone commands, either AddIniCmd[1] or
- AddCmd[1] is called to insert a startup or normal command. To create
- a new driver, use either the MakeDriver function, if you want
- to use the MakeObject[2] command to create the driver, or the functions
- MakeInitializer/GetInitializer[2], if you want to do use an other
- factory command.
+ In this function, you call AddCmd,AddIniCmd or AddCommand(SCinter.h) to
+ insert a standalone command, startup command or an object command. To
+ create a new driver, use either the MakeDriver function, if you want
+ to use the MakeObject command to create the driver, or the functions
+ MakeInitializer/GetInitializer, if you want to do use an other
+ factory command (see initializer.h).
+ The init function has to be added to the system by inserting one line
+ to the SiteInit (psi.c) or InitGeneral (ofac.c) function.
+
+ ''Suggestion''
+
+ At present, only the new stuff inserted by uses this scheme. I propose
+ to move to the new scheme during next shutdown.
+
+ ofac.c:
+
+ * remove InitIniCommands (moving first few lines InitObjectCommands)
+ and RemoveIniCommands.
+ * InitGeneral to a new file named initgen.c.
+ * Create init functions for all modules defining commands, and add
+ calls to the InitGeneral function.
+
+ psi.c:
+
+ * all stuff (except SiteInit) is moved to the corresponding modules,
+ using MakeInitializer/GetInitializer
Lines 31-32 were replaced by line 56
- [#1] SCinter.h
- [#2] initializer.h
+ These modifications will not change the behaviour of SICS.

Back to SicsInitializer, or to the Page History.