summaryrefslogtreecommitdiffstats
path: root/share/man/man3
Commit message (Collapse)AuthorAgeFilesLines
* MFC r303328:bdrewery2016-08-021-0/+2
| | | | | | Add links for bit_ffc_at(3) and bit_ffs_at(3). Approved by: re (kib)
* MFC 302899: Add documentation for the sigevent structure.jhb2016-07-252-0/+128
| | | | | | | | | | | | - Add a sigevent(3) manpage to give a general overview of the sigevent structure and the available notification mechanisms. - Document that AIO requests contain a nested sigevent structure that can be used to request completion notification. - Expand the sigevent details in other manuals to note details such as the extra values stored in a queued signal's information or in a posted kevent. Approved by: re (gjb)
* MFC 302861: Fix rendering issues.jhb2016-07-251-6/+6
| | | | | | | - Use Ta to separate column headers. - Correct width of the 'Code' column in the last table. Approved by: re (gjb)
* Last few instances of "sentence not on new line".trasz2016-06-081-2/+4
| | | | MFC after: 1 month
* Improve errno documentation in pthread_create(3) and thr_new(2)vangyzen2016-06-032-11/+30
| | | | | | | | | | Add some missing errno values to thr_new(2) and pthread_create(3). In particular, EDEADLK was not documented in the latter. While I'm here, improve some English and cross-references. Reviewed by: kib Sponsored by: Dell Inc. Differential Revision: https://reviews.freebsd.org/D6663
* Remove mentions that PTHREAD_PROCESS_SHARED is not supported from man pages.jilles2016-05-315-49/+11
| | | | | Also add support for process-shared synchronization objects to the HISTORY sections where they already exist.
* Fix typo ESRC -> ESRCH in pthread man pages.jilles2016-05-313-3/+3
|
* Remove non-history libkse references and fix PTHREAD_PROCESSES_PRIVATE typo.jilles2016-05-294-12/+6
|
* Add bit_count to the bitstring(3) apiasomers2016-05-231-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a bit_count function, which efficiently counts the number of bits set in a bitstring. sys/sys/bitstring.h tests/sys/sys/bitstring_test.c share/man/man3/bitstring.3 Add bit_alloc sys/kern/subr_unit.c Use bit_count instead of a naive counting loop in check_unrhdr, used when INVARIANTS are enabled. The userland test runs about 6x faster in a generic build, or 8.5x faster when built for Nehalem, which has the POPCNT instruction. sys/sys/param.h Bump __FreeBSD_version due to the addition of bit_alloc UPDATING Add a note about the ABI incompatibility of the bitstring(3) changes, as suggested by lidl. Suggested by: gibbs Reviewed by: gibbs, ngie MFC after: 9 days X-MFC-With: 299090, 300538 Relnotes: yes Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D6255
* Add implementation of robust mutexes, hopefully close enough to thekib2016-05-178-11/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | intention of the POSIX IEEE Std 1003.1TM-2008/Cor 1-2013. A robust mutex is guaranteed to be cleared by the system upon either thread or process owner termination while the mutex is held. The next mutex locker is then notified about inconsistent mutex state and can execute (or abandon) corrective actions. The patch mostly consists of small changes here and there, adding neccessary checks for the inconsistent and abandoned conditions into existing paths. Additionally, the thread exit handler was extended to iterate over the userspace-maintained list of owned robust mutexes, unlocking and marking as terminated each of them. The list of owned robust mutexes cannot be maintained atomically synchronous with the mutex lock state (it is possible in kernel, but is too expensive). Instead, for the duration of lock or unlock operation, the current mutex is remembered in a special slot that is also checked by the kernel at thread termination. Kernel must be aware about the per-thread location of the heads of robust mutex lists and the current active mutex slot. When a thread touches a robust mutex for the first time, a new umtx op syscall is issued which informs about location of lists heads. The umtx sleep queues for PP and PI mutexes are split between non-robust and robust. Somewhat unrelated changes in the patch: 1. Style. 2. The fix for proper tdfind() call use in umtxq_sleep_pi() for shared pi mutexes. 3. Removal of the userspace struct pthread_mutex m_owner field. 4. The sysctl kern.ipc.umtx_vnode_persistent is added, which controls the lifetime of the shared mutex associated with a vnode' page. Reviewed by: jilles (previous version, supposedly the objection was fixed) Discussed with: brooks, Martin Simmons <martin@lispworks.com> (some aspects) Tested by: pho Sponsored by: The FreeBSD Foundation
* Warn about consequences of suspending threads in arbitrary state ofkib2016-05-053-4/+18
| | | | | | | | | execution. While there, fix minor nits in markup. Sponsored by: The FreeBSD Foundation MFC after: 1 week
* Improve performance and functionality of the bitstring(3) apiasomers2016-05-041-19/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two new functions are provided, bit_ffs_at() and bit_ffc_at(), which allow for efficient searching of set or cleared bits starting from any bit offset within the bit string. Performance is improved by operating on longs instead of bytes and using ffsl() for searches within a long. ffsl() is a compiler builtin in both clang and gcc for most architectures, converting what was a brute force while loop search into a couple of instructions. All of the bitstring(3) API continues to be contained in the header file. Some of the functions are large enough that perhaps they should be uninlined and moved to a library, but that is beyond the scope of this commit. sys/sys/bitstring.h: Convert the majority of the existing bit string implementation from macros to inline functions. Properly protect the implementation from inadvertant macro expansion when included in a user's program by prefixing all private macros/functions and local variables with '_'. Add bit_ffs_at() and bit_ffc_at(). Implement bit_ffs() and bit_ffc() in terms of their "at" counterparts. Provide a kernel implementation of bit_alloc(), making the full API usable in the kernel. Improve code documenation. share/man/man3/bitstring.3: Add pre-exisiting API bit_ffc() to the synopsis. Document new APIs. Document the initialization state of the bit strings allocated/declared by bit_alloc() and bit_decl(). Correct documentation for bitstr_size(). The original code comments indicate the size is in bytes, not "elements of bitstr_t". The new implementation follows this lead. Only hastd assumed "elements" rather than bytes and it has been corrected. etc/mtree/BSD.tests.dist: tests/sys/Makefile: tests/sys/sys/Makefile: tests/sys/sys/bitstring.c: Add tests for all existing and new functionality. include/bitstring.h Include all headers needed by sys/bitstring.h lib/libbluetooth/bluetooth.h: usr.sbin/bluetooth/hccontrol/le.c: Include bitstring.h instead of sys/bitstring.h. sbin/hastd/activemap.c: Correct usage of bitstr_size(). sys/dev/xen/blkback/blkback.c Use new bit_alloc. sys/kern/subr_unit.c: Remove hard-coded assumption that sizeof(bitstr_t) is 1. Get rid of unrb.busy, which caches the number of bits set in unrb.map. When INVARIANTS are disabled, nothing needs to know that information. callapse_unr can be adapted to use bit_ffs and bit_ffc instead. Eliminating unrb.busy saves memory, simplifies the code, and provides a slight speedup when INVARIANTS are disabled. sys/net/flowtable.c: Use the new kernel implementation of bit-alloc, instead of hacking the old libc-dependent macro. sys/sys/param.h Update __FreeBSD_version to indicate availability of new API Submitted by: gibbs, asomers Reviewed by: gibbs, ngie MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D6004
* Separate manual pages into their own package.gjb2016-01-211-0/+2
| | | | Sponsored by: The FreeBSD Foundation
* Document bitset(9)cem2015-10-171-2/+3
|
* Make the system queue header file fully usable within C++ programs byhselasky2015-06-282-29/+78
| | | | | | | | | | | | | | | | | adding macros to define class lists. This change is backwards compatible for all use within C and C++ programs. Only C++ programs will have added support to use the queue macros within classes. Previously the queue macros could only be used within structures. The queue.3 manual page has been updated to describe the new functionality and some alphabetic sorting has been done while at it. Differential Revision: https://reviews.freebsd.org/D2745 PR: 200827 (exp-run) MFC after: 2 weeks
* Add META_MODE support.sjg2015-06-131-0/+11
|\ | | | | | | | | | | | | | | | | | | | | Off by default, build behaves normally. WITH_META_MODE we get auto objdir creation, the ability to start build from anywhere in the tree. Still need to add real targets under targets/ to build packages. Differential Revision: D2796 Reviewed by: brooks imp
| * dirdeps.mk now sets DEP_RELDIRsjg2015-06-081-2/+0
| |
| * Merge sync of headsjg2015-05-2716-91/+178
| |\
| * \ Merge from head@274682sjg2014-11-194-7/+23
| |\ \
| * \ \ Merge head from 7/28sjg2014-08-1920-26/+32
| |\ \ \
| * \ \ \ Merge from headsjg2014-05-081-1/+1
| |\ \ \ \
| * \ \ \ \ Merge headsjg2014-04-2810-52/+66
| |\ \ \ \ \
| * \ \ \ \ \ Merge from headsjg2013-09-056-13/+196
| |\ \ \ \ \ \
| * \ \ \ \ \ \ sync from headsjg2013-04-121-1/+1
| |\ \ \ \ \ \ \
| * | | | | | | | Updated dependenciessjg2013-02-161-2/+0
| | | | | | | | |
| | | | | | | | |
| | \ \ \ \ \ \ \
| *-. \ \ \ \ \ \ \ Sync from headsjg2012-11-045-6/+147
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | Sync FreeBSD's bmake branch with Juniper's internal bmake branch.marcel2012-08-221-0/+14
| | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Requested by: Simon Gerraty <sjg@juniper.net>
* | | | | | | | | | Provide an unambiguous description of the potential hazard in callingpkelsey2015-05-281-1/+4
| |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pthread_setspecific(3) from a key destructor. Reviewed by: jhb Approved by: jmallett (mentor) MFC after: 3 days
* | | | | | | | | Added description of POSIX-specified behavior when invoked on a key from ↵pkelsey2015-05-191-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | within that key's destructor. Reviewed by: jhb, -doc Approved by: jmallett (mentor) MFC after: 3 days Sponsored by: Norse Corp, Inc.
* | | | | | | | | Bump doc date missed in r281605.brooks2015-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MFC after: 1 day
* | | | | | | | | Make wait6(2), waitid(3) and ppoll(2) cancellation points. Thekib2015-04-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | waitid() function is required to be cancellable by the standard. The wait6() and ppoll() follow the other syscalls in their groups. Reviewed by: jhb, jilles (previous versions) Sponsored by: The FreeBSD Foundation MFC after: 1 week
* | | | | | | | | Fix a minor function definition inconsistancy.brooks2015-04-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MFC after: 3 days
* | | | | | | | | Formatting changes to the pthread_testcancel(3).kib2015-03-291-59/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use list for the cancellation points enumeration. Move notes about functions into the list inline. The discussion of the idiomatic use of cancellation facilities does not belong to RETURN VALUES section, move it to NOTES. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
* | | | | | | | | Make kevent(2) a cancellation point.kib2015-03-291-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that to cancel blocked kevent(2) call, changelist must be empty, since we cannot cancel a call which already made changes to the process state. And in reverse, call which only makes changes to the kqueue state, without waiting for an event, is not cancellable. This makes a natural usage model to migrate kqueue loop to support cancellation, where existing single kevent(2) call must be split into two: first uncancellable update of kqueue, then cancellable wait for events. Note that this is ABI-incompatible change, but it is believed that there is no cancel-safe code that relies on kevent(2) not being a cancellation point. Option to preserve the ABI would be to keep kevent(2) as is, but add new call with flags to specify cancellation behaviour, which only value seems to add complications. Suggested and reviewed by: jilles Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
* | | | | | | | | Provide individual prototype and generate macros for the red-black tree.kib2015-01-241-1/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This helps to reduce code size in statically linked applications. Submitted by: Sebastian Huber <sebastian.huber@embedded-brains.de> MFC after: 2 weeks
* | | | | | | | | Fix a typographical error.kargl2015-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Confirmed by: n1256.pdf Obtained from: Dragonfly BSD
* | | | | | | | | sort SEE ALSObapt2014-12-2610-29/+29
| | | | | | | | |
* | | | | | | | | Escape Ed to prevent mandoc to avoid confusion with the mdoc's Ed macrosbapt2014-12-261-1/+1
| |_|_|_|_|_|_|/ |/| | | | | | |
* | | | | | | | Correct a typo: this is the manpage for pthread_cleanup_pop, not push.jhb2014-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Submitted by: ian
* | | | | | | | Clarify that pthread_cleanup_push()/pop() are implemented as macros thatjhb2014-10-252-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | create a new code block and thus must be balanced at the same lexical scope. (This is also a requirement in POSIX.) PR: 194280 Submitted by: dr2867.business@pacbell.net MFC after: 1 week
* | | | | | | | Clarify descriptions of pthread_cond_wait() and pthread_cond_timedwait()gavin2014-08-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Requested by: Malcolm Douglas via freebsd-doc Reviewed by: jhb MFC after: 1 week
* | | | | | | | Silence mandoc lint.joel2014-07-291-1/+1
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | use .Mt to mark up email addresses consistently (part6)bapt2014-06-2319-26/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR: 191174 Submitted by: Franco Fichtner <franco at lastsummer.de>
* | | | | | | Add MLINKS for macros decribed in queue.3 manpage.kevlo2014-06-171-0/+10
| |_|_|_|_|/ |/| | | | |
* | | | | | Use src.opts.mk in preference to bsd.own.mk except where we need stuffimp2014-05-061-1/+1
| |_|_|_|/ |/| | | | | | | | | | | | | | from the latter.
* | | | | Xref pthread_cancel...jmg2014-03-162-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bump Dd, _exit was still dated 1996! yes, it has been modified a few times since then... MFC after: 1 week
* | | | | multiple: Remove 3rd clause from BSD license where approved by theeadler2014-03-147-35/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | regents and renumber. This patch skips files in contrib/ and crypto/ Acked by: imp Discussed with: emaste
* | | | | - Update a few places to account for va_copy().jhb2014-02-051-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Create a separate 'return values' section and move some statements about return values to that section. - Note that each invocation of va_start() and va_copy() must be paired with va_end() in the same function. MFC after: 1 week
* | | | | RB_FOREACH_[REVERSE_]FROM() do not require the head pointer. Reword.bms2013-11-101-3/+5
| | | | |
* | | | | Document the RB_FOREACH_FROM() and RB_FOREACH_REVERSE_FROM() macros.bms2013-11-101-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are largely syntactic sugar. However, they improve code readability where an RB_FOREACH() or RB_FOREACH_REVERSE() traversal has been interrupted and must be resumed. Performance is improved by avoiding unnecessary traversal from the head node.
OpenPOWER on IntegriCloud