thread-unsafety problems as spl*() ones are NOP

Slawa Olhovchenkov slw at zxy.spb.ru
Sun Jan 31 11:33:16 UTC 2016


On Sun, Jan 31, 2016 at 10:00:51AM +0330, mokhi wrote:

> @imp:
> i exactly mean (Okay not so exact but very near ;D) what you said.
> after analyzing kbd.c functions (eg, kbd_realloc_array()) i concluded
> there are race conditions (and at  result in some places there are
> un-protected data too)
> 
> i don't mean to blindly replace splXXX() with locks, but the places i
> see race-conds.
> Also i should say there are manythings i dunno well or i dont have
> deep understanding of them and that's why im here to ask (ie what
> special condition Giant-Lock makes here [i should care about] and what
> is MPSAFE basically)
> i'd happy if you answer me those question too :D

I think god explainig can be found in VMS Device Support Manual,
Section 3 (for example
http://odl.sysworks.biz/disk$cddoc04mar21/decw$book/d32va114.p63.decw$book#186).

splXXX is analouge of VMS IPL 1-15 and have same purpose.

Or The Design and Implementation of the 4.3BSD UNIX Operating System
(Chapter 3.3).

Also you can look in FreeBSD repo, stable/2.2 branch, sys/i386/include/spl.h


More information about the freebsd-current mailing list