Plan 9 from Bell Labs’s /usr/web/sources/patch/applied/devdraw-initscreenimage-from-isr/readme

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


avoid calling initscreenimage() in drawblankscreen() as the allocation in
makescreenimage() uses waserror and requires to be called with a user
context (up != nil). the concrete call nesting was:

*interrupt*
	mouseclock()
		drawactive()
			drawblankscreen()
				initscreenimage()
					makescreenimage()
						waserror()
							*pagefault* due to up==nil
								fault386()
									panic("kernel fault: no user process...")

drawblankscreen only needed to access the screenimage to
get the color depth to calculate the number of palette
colors to clear. there is no point in blanking when
there is no screenimage in the firstplace, so i changed
the initscreenimage() call into a test for screenimage
being available or not and just return if it is not there.


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.