Commit bc685fb0 authored by Ben Avison's avatar Ben Avison
Browse files

*StartDesktopTask and SWI TaskManager_StartTask are now safe to be called from callbacks.

Detail:
  Turned interrupts off while the user mode code manipulates its pollword and
  delinks tasks from the linked list.
Admin:
  Not tested, but should be a safe change.

Version 1.27. Tagged as 'Switcher-1_27'
parent 08b2640a
;
; This file is automatically maintained by srccommit, do not edit manually.
; Last processed by srccommit version: 1.68.
; Last processed by srccommit version: 1.2.
;
GBLS Module_MajorVersion
GBLA Module_Version
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "1.26"
Module_Version SETA 126
Module_MajorVersion SETS "1.27"
Module_Version SETA 127
Module_MinorVersion SETS ""
Module_Date SETS "21 Jun 2004"
Module_ApplicationDate SETS "21-Jun-04"
Module_Date SETS "15 Sep 2005"
Module_ApplicationDate SETS "15-Sep-05"
Module_ComponentName SETS "Switcher"
Module_ComponentPath SETS "RiscOS/Sources/Desktop/Switcher"
Module_FullVersion SETS "1.26"
Module_HelpVersion SETS "1.26 (21 Jun 2004)"
Module_FullVersion SETS "1.27"
Module_HelpVersion SETS "1.27 (15 Sep 2005)"
END
/* (1.26)
/* (1.27)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.68.
* Last processed by srccommit version: 1.2.
*
*/
#define Module_MajorVersion_CMHG 1.26
#define Module_MajorVersion_CMHG 1.27
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 21 Jun 2004
#define Module_Date_CMHG 15 Sep 2005
#define Module_MajorVersion "1.26"
#define Module_Version 126
#define Module_MajorVersion "1.27"
#define Module_Version 127
#define Module_MinorVersion ""
#define Module_Date "21 Jun 2004"
#define Module_Date "15 Sep 2005"
#define Module_ApplicationDate "21-Jun-04"
#define Module_ApplicationDate "15-Sep-05"
#define Module_ComponentName "Switcher"
#define Module_ComponentPath "RiscOS/Sources/Desktop/Switcher"
#define Module_FullVersion "1.26"
#define Module_HelpVersion "1.26 (21 Jun 2004)"
#define Module_LibraryVersionInfo "1:26"
#define Module_FullVersion "1.27"
#define Module_HelpVersion "1.27 (15 Sep 2005)"
#define Module_LibraryVersionInfo "1:27"
......@@ -284,6 +284,9 @@ PowerDownReset SETL {TRUE} ; Ask Kernel if we can turn the PSU off
GBLL TematicCredits
TematicCredits SETL {FALSE}
[ "$Machine" = "Tungsten"
TematicCredits SETL {TRUE}
]
[ UseOSD6and7
! 0, ""
......@@ -5325,12 +5328,16 @@ pollword_event
start_task Push "r0-r3, lr"
; Unset starttask pollword bit
SWI XOS_IntOff
LDRB r0, misc_pollbyte
EOR r0, r0, #mp_starttask
STRB r0, misc_pollbyte
; Go through list and issue Wimp_StartTasks
LDR r2, starttask_ptr ; R2 is pointer to data blocks
MOV r0, #0
STR r0, starttask_ptr ; Store a zero in starttask_ptr to indicate no tasks queued
SWI XOS_IntOn
CMP r2, #0
Pull "r0-r3, pc", EQ ; Nothing in the list - strange!
......@@ -5343,8 +5350,6 @@ start_task Push "r0-r3, lr"
CMP r2, #0 ; Is there a next entry?
BNE %BT10
MOV r0, #0
STR r0, starttask_ptr ; Store a zero in starttask_ptr to indicate no tasks queued
Pull "r0-r3, pc"
]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment