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_StartWimp

Programmer's Reference Manuals
» Part 7 - The Desktop
» The Window Manager
» Service Calls
» Service_StartWimp

Service_StartWimp

(Service Call &49)
Entry
R1 73 (&49)
Exit
R0 Pointer to *command to start module
R1 0 to claim call

Use

This service is broadcast by the Wimp to start up resident 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 Wimp will re-broadcast this service until no more modules claim it.

Filer module tasks should wait for Service_StartFiler instead.

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

  1. set their taskhandle to 0 when initialising, Service_PostReset, or Service_StartedWimp
  2. only claim this service if their taskhandle is zero. i.e. they are not already running, and not attempting to restart
  3. set their taskhandle to a flag value (-1) when they claim this service
  4. 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_StartedWimp
  5. set their taskhandle back to 0 when they quit using Wimp_CloseDown

See also

  • Service Calls
  • Service_PostReset
  • Service_StartFiler
  • Service_StartedWimp
  • Wimp_CloseDown
  • Wimp_Initialise
  • Wimp_StartTask
Revised on December 9, 2009 23:27:38 by Alan Robertson (52)? (127.0.0.1)
Edit | Back in time (3 revisions) | See changes | History | Views: Print | Source | Linked from: The Window Manager Service Calls, Service_StartedWimp, Service Calls

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