Article # 361, added by Geoworks, historical record
| first | previous | index | next | last |

Running tasks in the background.



Q. We need to run background tasks on the Zoomer. I use ThreadCreate
   to start background task, but Glue reports:

   Error MAP1BKG.GP 19: Usage of THREADCREATE requires geos minor protocol 9,
   but platform files only allow minor protocol 3

A. This is caused by an enhancement in our new kernel. Since Casio
   Z-7000 and Tandy Z-PDA use the old kernel, it cannot use the additions
   to thread create. To overcome this, you can call ThreadCreate_Old.
   To use ThreadCreate_Old, you must provide the prototype for it and
   at surround the call with push/pop of the si register. Here is an
   example:

	extern ThreadHandle
	    _pascal ThreadCreate_Old(word priority,
			 word valueToPass,
			 word (*startRoutine)(word valuePassed),
			 word stackSize,
			 GeodeHandle owner);
	.
	.
	.
	asm push si;
	thread = ThreadCreate_Old();
	asm pop si;