was in. This shall be MFC'd in about three days (probably not a good idea
to MFC the stylistic changes though - see below).
PR: 19978
Submitted by: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
Patch by: roam (slightly modified by me to use NULL not NIL)
user confusion, so specify it directly, i.e. change "3" to "3;0".
In this style "3;" or "3" must not cause repeating
(converted to \3, CHAR_MAX, \0)
Still not implemented and broken in localeconv()
user confusion, so specify it directly, i.e. change "3" to "3;0".
In this style "3;" must not cause repeating (converted to \3, CHAR_MAX, \0)
NOTE: still no proper conversion done in localeconv()
it as I was playing with some other ways of doing kernel preemption.
You must still specify the PREEMPTION option in your config file to get a
preemptive kernel.
repeated forever according to SUSv2
Remove "0;0" - \0 means not "no grouping" but repeat forever previous char,
and added automatically. Empty string could be parsed later into CHAR_MAX
(real "no grouping") by localeconv()
attributes. This is needed for AST's to be properly posted in a preemptive
kernel. They are backed by two new flags in p_sflag: PS_ASTPENDING and
PS_NEEDRESCHED. They are still accesssed by their old macros:
aston(), astoff(), etc. For completeness, an astpending() macro has been
added to check for a pending AST, and clear_resched() has been added to
clear need_resched().
- Rename syscall2() on the x86 back to syscall() to be consistent with
other architectures.
LC_NUMERIC fields, but only for *grouping fields - other fields are converted
to a chars in localeconv(), so final change is:
"-1" -> "127"
127 here is because CHAR_MAX supposed, which is _positive_ (SUSv2 requirement),
not negative as 255. It is still a bit of hack. To find real CHAR_MAX will be
better to sprintf() it once somewhere in static buffer. *grouping parsing
still broken and missing and needs to be implemented.
LC_MONETARY, LC_NUMERIC are byte-arrays, not ASCII strings!
Fix "C" locale, change "-1" to {CHAR_MAX, '\0'} according to standards.
This is only partial fix - locale loading procedure remains broken as before
and load too big values for all locales. All numeric strings there should be
converted with something like atoi() and placed into bytes. Maybe I do it
later, if someone will not fix it faster.
en_CA, en_GB => en_US
en_AU, en_NZ => en_GB
fr_CA, fr_CH => fr_FR
There are separate links for `GB English' and `US English' because I
anticipate users of the former to potentially want a thousands_sep of
" " (to match modern British style) rather than ",".
XXX What about en_IE? ISO_8859-15?
- I can't seem to reproduce the warning I got from WITNESS anymore.
- The fix was wrong. Since a uidinfo struct is a member of proc, it
makes sense for the locking order to be such that you are allowed to
hold proc and then grab the uidinfo lock.
user actually editing the output. Too many people were rampantly abusing
this feature via "pkg_version -c | sh" without really being cognizant
of the dangers involved (ports upgrade kits) or the fact that it
just plain wasn't designed for it (dependencies). We'll try to keep
people from shooting themselves in the foot.
Will be MFC-ed to RELENG_4 and RELENG_3 after cooling-off period.