[asterisk-bugs] [JIRA] (ASTERISK-24857) [patch] kqueue timer source fails on FreeBSD 10.x

Rusty Newton (JIRA) noreply at issues.asterisk.org
Fri Mar 13 16:32:34 CDT 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-24857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rusty Newton updated ASTERISK-24857:
------------------------------------

    Summary: [patch] kqueue timer source fails on FreeBSD 10.x  (was: kqueue timer source fails on FreeBSD 10.x)

> [patch] kqueue timer source fails on FreeBSD 10.x
> -------------------------------------------------
>
>                 Key: ASTERISK-24857
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24857
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_timing_kqueue
>    Affects Versions: 13.2.0
>         Environment: FreeBSD 10-stable.
>            Reporter: Justin T. Gibbs
>
> Using the kqueue timing source results in glitchy audio and failed calls.
> [Edit by Rusty - adding your Reviewboard description info here for more "searchability"]
> Reviewboard patch description:
> {quote}
> Update the kqueue timing module to conform to current timer API.
> This fixes issues with using the kqueue timing source on Asterisk 13
> on FreeBSD 10.
> res_timing_kqueue.c:
> 	Remove support for kevent64().  The values used to support Asterisk
> 	timers fit within 32bits and so can be handled on all platforms via
> 	kevent().
> 	Provide debug logging for, but do not track, unacked events.  This
> 	matches the behavior of all other timer implementations.
> 	Implement continuous mode by triggering and leaving active, a user
> 	event.  This ensures that the file descriptor for the timer returns
> 	immediately from poll(), without placing the load of a high speed
> 	timer on the kernel.
> 	In kqueue_timer_get_max_rate(), don't overstate the capability of
> 	the timer.  On some platforms, UINT_MAX is greater than INTPTR_MAX,
> 	the largest integer type kqueue supports for timers.
> 	In kqueue_timer_get_event(), assume the caller woke up from poll()
> 	and just return the mode the timer is currently in.  This matches
> 	all other timer implementations.
> 	Adjust the test code now that unacked events are not tracked.
> {quote}
> Testing done:
> {quote}
> Asterisk 13.2.0 on FreeBSD 10-stable: "timing test", pjsip incoming/outgoing calls, voicemail prompts and recordings.  All of the above failed without these changes.
> {quote}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list