| Home · All Classes · Annotated · Functions |
As part of the SXE, a Qtopia system process acts as a Process Monitor. The monitor runs with a SCHED_RR priority scheduler using the system call sched_setscheduler. When the monitor process is scheduled on the processor it only runs for a short time, but executes a number of checks:
Note: Initially the Process Monitor is run as a thread inside the QPE server. Scheduling priority on this thread must be explicitly set.
The Process Monitor will act if any of these quick checks reveals a problem situation. There are a range of configurable options if a problem situation is indicated.
The Process Monitor is advised of the current process holding the lock (if its in process with the Qtopia server simply a memory location, otherwise shared memory). A number of retry policies can be specified, for example, Exponential Backoff, N-Milliseconds. If the lock cannot be obtained and the same process is holding it, that process holding the lock is killed.
a similar scenario is followed as for the framebuffer write lock. The Process Monitor obtains its data from the /proc pseudo-file-system.
the monitor can either poll the output from the keyboard driver (tty device) or if it is in process with the server get the processed keyboard events from the QTE layer. As soon as the button hits the number of milliseconds of press-down time the Process Monitor will kill all other applications except the server.
Note: Other processes are prevented from changing their scheduler or priority as the CAP_SYS_NICE capability is globally denied, but allowed to the Process Monitor.
| Copyright © 2006 Trolltech | Trademarks | Qtopia 4.1.7 |