RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Service_StartFiler

Programmer's Reference Manuals
» Part 16 – Service Calls?
» Service_StartFiler

Service_StartFiler

(Service &4B)
Entry
R0 Task handle of Filer
R1 75 (&4B)
Exit
R0 Pointer to command start module, else preserved to pass on
R1 0 to claim service, else preserved to pass on

Use

This service is issued by the Filer to start up resident filer module tasks by passing the returned command to Wimp_StartTask.

Notes

Module tasks which wish to start should claim this service, passing their start command in R0. The Filer will re-issue this service until no more modules claim it.

To prevent infinite loops if an error occurs in starting a task, modules should:

  1. Set their taskhandle to 0 on;
    • Initialise (see Module Initialisation Code?)
    • Service_PostReset
    • Service_StartedFiler
  2. Only claim this service if their taskhandle is zero (i.e. they are not already running, and not attempting to re-start)
  3. Set their taskhandle to a flag value (-1) when they claim this service
  4. Do either;
    • Set their taskhandle based on the return result of Wimp_Initialise if their command is called,
    • or set their taskhandle back to 0 on Service_StartedFiler (failed to initialise)
  5. Set their taskhandle back to 0 when they quit using Wimp_CloseDown

Filer tasks should also check for Service_FilerDying, and close down if they receive it.

See also

  • Module Initialisation Code?
  • Service Calls
  • Service_FilerDying
  • Service_PostReset
  • Service_StartedFiler
  • Wimp_CloseDown
  • Wimp_Initialise
[link1]Service+Calls
Created on December 10, 2009 20:46:10 by Alan Robertson (52)? (127.0.0.1)
Edit | Views: Print | Source | Linked from: Service_StartWimp, Message_FilerOpenDir, Service Calls, Service_StartedFiler

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys