<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/tests/sys/kqueue/libkqueue/main.c, branch stable/13</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=stable%2F13</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=stable%2F13'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2023-08-23T17:43:21Z</updated>
<entry>
<title>Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-23T17:43:21Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-22T01:31:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=17da660ad5b3b9cd90e164dd4dbb9beaa7203054'/>
<id>urn:sha1:17da660ad5b3b9cd90e164dd4dbb9beaa7203054</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/

Similar commit in main:
(cherry picked from commit b3e7694832e8)
</content>
</entry>
<entry>
<title>kqueue tests: Add file and line info to some test failure output</title>
<updated>2022-06-08T00:42:18Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2022-05-25T00:14:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c87ff7f5c659ecab2c7092dd81c4a981d001f9f4'/>
<id>urn:sha1:c87ff7f5c659ecab2c7092dd81c4a981d001f9f4</id>
<content type='text'>
This brings us slightly closer to upstream and is useful when debugging
test failures.

Sponsored by:	The FreeBSD Foundation

(cherry picked from commit c728c56c870abe230e45cee5c477f0d890ebacef)
</content>
</entry>
<entry>
<title>Fix various warnings in tests/sys/kqueue and bump WARNS</title>
<updated>2020-04-18T12:54:47Z</updated>
<author>
<name>Alex Richardson</name>
<email>arichardson@FreeBSD.org</email>
</author>
<published>2020-04-18T12:54:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c9c283bd3045c909671fc9aab250c35fe124ef35'/>
<id>urn:sha1:c9c283bd3045c909671fc9aab250c35fe124ef35</id>
<content type='text'>
Reviewed By:	kevans
Differential Revision: https://reviews.freebsd.org/D24296
</content>
</entry>
<entry>
<title>Make whitespace more consistent in libkqueue tests.</title>
<updated>2018-11-27T15:12:34Z</updated>
<author>
<name>David Bright</name>
<email>dab@FreeBSD.org</email>
</author>
<published>2018-11-27T15:12:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d34048812292b714a0bf99967270d18fe3097c62'/>
<id>urn:sha1:d34048812292b714a0bf99967270d18fe3097c62</id>
<content type='text'>
After r337820, which "corrected" some spaces-instead-of-tab whitespace
issues in the libkqueue tests, jmg@ pointed out that these files were
originally space-based, not tab-spaced, and so the correction should
have been to get rid of the tabs that had been introduced in previous
changes, not the spaces. This change does that. This is a whitespace
only change; no functional change is intended.

Reported by:	jmg@
MFC after:	3 days
Sponsored by:	Dell EMC Isilon
</content>
</entry>
<entry>
<title>Fix a couple whitespace errors in r337814.</title>
<updated>2018-08-14T20:26:54Z</updated>
<author>
<name>David Bright</name>
<email>dab@FreeBSD.org</email>
</author>
<published>2018-08-14T20:26:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4e258e2d9f7e2ea1f7a06f8583fa82cc59e0f07f'/>
<id>urn:sha1:4e258e2d9f7e2ea1f7a06f8583fa82cc59e0f07f</id>
<content type='text'>
Reported by:	Renato Botelho &lt;garga.bsd@gmail.com&gt;
MFC after:	3 days
X-MFC-with:	r337814
Sponsored by:	Dell EMC
</content>
</entry>
<entry>
<title>Fix several (more) memory leaks.</title>
<updated>2018-08-14T19:31:06Z</updated>
<author>
<name>David Bright</name>
<email>dab@FreeBSD.org</email>
</author>
<published>2018-08-14T19:31:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=45bed28c116daf076d33b00d1830c62f9dcd30b3'/>
<id>urn:sha1:45bed28c116daf076d33b00d1830c62f9dcd30b3</id>
<content type='text'>
A follow-up to r337812 to catch a couple more memory leaks that should
have been included in that change.

Reported by:	Coverity
CID:		1296064, 1296067 (for real this time)
MFC after:	3 days
X-MFC-with:	r337812
Sponsored by:	Dell EMC
</content>
</entry>
<entry>
<title>Fix several memory leaks.</title>
<updated>2018-08-14T19:12:45Z</updated>
<author>
<name>David Bright</name>
<email>dab@FreeBSD.org</email>
</author>
<published>2018-08-14T19:12:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=53e992cfb9bfbc5c77588165b3a250a1fa555a23'/>
<id>urn:sha1:53e992cfb9bfbc5c77588165b3a250a1fa555a23</id>
<content type='text'>
The libkqueue tests have several places that leak memory by using an
idiom like:

puts(kevent_to_str(kevp));

Rework to save the pointer returned from kevent_to_str() and then
free() it after it has been used.

Reported by:	asomers (pointer to Coverity), Coverity
CID:		1296063, 1296064, 1296065, 1296066, 1296067, 1350287, 1394960
Sponsored by:	Dell EMC
</content>
</entry>
<entry>
<title>Allow a EVFILT_TIMER kevent to be updated.</title>
<updated>2018-07-27T13:49:17Z</updated>
<author>
<name>David Bright</name>
<email>dab@FreeBSD.org</email>
</author>
<published>2018-07-27T13:49:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=95c05062ec15cf323488d4c5e1986f5866bf7464'/>
<id>urn:sha1:95c05062ec15cf323488d4c5e1986f5866bf7464</id>
<content type='text'>
If a timer is updated (re-added) with a different time period
(specified in the .data field of the kevent), the new time period has
no effect; the timer will not expire until the original time has
elapsed. This violates the documented behavior as the kqueue(2) man
page says (in part) "Re-adding an existing event will modify the
parameters of the original event, and not result in a duplicate
entry."

This modification, adapted from a patch submitted by cem@ to PR214987,
fixes the kqueue system to allow updating a timer entry. The
kevent timer behavior is changed to:

  * When a timer is re-added, update the timer parameters to and
    re-start the timer using the new parameters.
  * Allow updating both active and already expired timers.
  * When the timer has already expired, dequeue any undelivered events
    and clear the count of expirations.

All of these changes address the original PR and also bring the
FreeBSD and macOS kevent timer behaviors into agreement.

A few other changes were made along the way:

  * Update the kqueue(2) man page to reflect the new timer behavior.
  * Fix man page style issues in kqueue(2) diagnosed by igor.
  * Update the timer libkqueue system test to test for the updated
    timer behavior.
  * Fix the (test) libkqueue common.h file so that it includes
    config.h which defines various HAVE_* feature defines, before the
    #if tests for such variables in common.h. This enables the use of
    the actual err(3) family of functions.
  * Fix the usages of the err(3) functions in the tests for incorrect
    type of variables. Those were formerly undiagnosed due to the
    disablement of the err(3) functions (see previous bullet point).

PR:		214987
Reported by:	Brian Wellington &lt;bwelling@xbill.org&gt;
Reviewed by:	kib
MFC after:	1 week
Relnotes:	yes
Sponsored by:	Dell EMC
Differential Revision:	https://reviews.freebsd.org/D15778
</content>
</entry>
<entry>
<title>Add abstime kqueue(2) timers and expand struct kevent members.</title>
<updated>2017-06-17T00:57:26Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-06-17T00:57:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2b34e84335149a2d464c8e4b1334fb8f65a1fa8f'/>
<id>urn:sha1:2b34e84335149a2d464c8e4b1334fb8f65a1fa8f</id>
<content type='text'>
This change implements NOTE_ABSTIME flag for EVFILT_TIMER, which
specifies that the data field contains absolute time to fire the
event.

To make this useful, data member of the struct kevent must be extended
to 64bit.  Using the opportunity, I also added ext members.  This
changes struct kevent almost to Apple struct kevent64, except I did
not changed type of ident and udata, the later would cause serious API
incompatibilities.

The type of ident was kept uintptr_t since EVFILT_AIO returns a
pointer in this field, and e.g. CHERI is sensitive to the type
(discussed with brooks, jhb).

Unlike Apple kevent64, symbol versioning allows us to claim ABI
compatibility and still name the new syscall kevent(2).  Compat shims
are provided for both host native and compat32.

Requested by:	bapt
Reviewed by:	bapt, brooks, ngie (previous version)
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D11025
</content>
</entry>
<entry>
<title>Move tests/sys/kqueue/... to tests/sys/kqueue/libkqueue/...</title>
<updated>2016-09-06T08:45:29Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2016-09-06T08:45:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cb5fe245b1c7d476e3839126a11ee4305484f7de'/>
<id>urn:sha1:cb5fe245b1c7d476e3839126a11ee4305484f7de</id>
<content type='text'>
This is being done to clearly distinguish the libkqueue tests
from the (soon to be imported) NetBSD tests.

MFC after:	58 days
Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
</feed>
