#
336346 |
|
16-Jul-2018 |
kevans |
MFC r304910, r304912, r304915, r304952, r325019, r328164, r331094, r332664, r335341-r335345, r335347, r335379-r335380, r335382
r304910: Introduce cnv man page.
r304912: Add missed header file for cnv.h .
r304915: Bump date in the man page.
r304952: Remove duplicated declaration.
r325019: Introduce cnvlist_name() and cnvlist_type() functions.
Those function can be used when we are iterating over nvlist to reduce amount of extra variables we need to declare.
r328164: libnv: Use mallocarray(9) for the nv_calloc.
r331094: Fix formatting errors that resulted in apropos(1) output looking weird.
r332664: Add missing argument in the cnv man page.
r335341: libnv: change name of cookie from cookiep to cookie.
The name was inconsistent with rest of the library. No functional change intended.
r335342: libnv: add const to cookies arguments
r335343: libnv: Remove nvlist argument from cnvlist_{take,free}_* functions.
All information which are need for those operations is already stored in the cookie.
We decided not to bump libnv version because this API is not used yet in the base system.
r335344: libnv: clean parent in nvlist_array when removing it.
When we are removing element form the nvlist we should also clean parent, because the array is not a part of the nvlist anymore.
r335345: libnv: add regression test for r335344.
r335347: libnv: Add nvlist_append_*_array() family of functions.
The nvlist_append_{bool,number,string,nvlist,descriptor}_array() functions allows to dynamically extend array stored in the nvlist.
r335379: Set prev to NULL so its garaunteed to have a value of some kind and gcc doesn't explode. Feel free to fix this correctly or whatever for gcc builds.
This *should* quiesce tinderbox after r335347 for the gcc builds.
r335380: style(9) fix, I was also going to silence gcc.
r335382: Really fix the style.
|
#
297394 |
|
29-Mar-2016 |
bdrewery |
Reword descriptions of asserting locks held without WITNESS.
This corrects an error in r296947 in that it is not possible to assert which thread holds a shared (or read) lock, but it is possible to assert that one is held. Just not very useful.
MFC after: 1 week Submitted by: wblock, jhb Reviewed by: kib (earlier version), jhb, wblock Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5659
|
#
275751 |
|
13-Dec-2014 |
dchagin |
Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9). A _NEW flag passed to _init_flags() to avoid check for double-init.
Differential Revision: https://reviews.freebsd.org/D1208 Reviewed by: jhb, wblock MFC after: 1 Month
|
#
167387 |
|
09-Mar-2007 |
jhb |
Allow threads to atomically release rw and sx locks while waiting for an event. Locking primitives that support this (mtx, rw, and sx) now each include their own foo_sleep() routine. - Rename msleep() to _sleep() and change it's 'struct mtx' object to a 'struct lock_object' pointer. _sleep() uses the recently added lc_unlock() and lc_lock() function pointers for the lock class of the specified lock to release the lock while the thread is suspended. - Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks (rw_sleep()), and sx locks (sx_sleep()). msleep() still exists and is now identical to mtx_sleep(), but it is deprecated. - Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP. - Rewrite much of sleep.9 to not be msleep(9) centric. - Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS' section. - Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will warn if you try to pass a NULL wait channel. The functions already have a KASSERT to that effect.
|