[asterisk-dev] [Code Review] [branch] Expand select(2) bits to allow for more than FD_SETSIZE file descriptors

Russell Bryant russell at digium.com
Tue Aug 10 15:57:48 CDT 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/824/#review2514
-----------------------------------------------------------



/branches/1.4/channels/chan_misdn.c
<https://reviewboard.asterisk.org/r/824/#comment5593>

    If we're going to touch the code, I'd rather see everything just changed to poll().  It's an easy conversion.  I know we still need to deal with this on platforms where we use a select() based poll() implementation (mac).  If we limit it to only the platforms that poll-compat is uses, does that simplify what needs to be done at all?



/branches/1.4/include/asterisk/select.h
<https://reviewboard.asterisk.org/r/824/#comment5542>

    Please use the full copyright/license header


- Russell


On 2010-07-29 19:58:45, Tilghman Lesher wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/824/
> -----------------------------------------------------------
> 
> (Updated 2010-07-29 19:58:45)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> Presently, when the number of file descriptors expands beyond FD_SETSIZE descriptors, we have troubles when those file descriptors are used with select(2).  Usually, this causes memory corruption, because the bitfields are not large enough, and parts of memory beyond the bitfield are corrupted.  This change both expands the default bitfield, as well as adding checks to ensure that memory beyond the end of bitfields are not corrupted.
> 
> 
> This addresses bug 17678.
>     https://issues.asterisk.org/view.php?id=17678
> 
> 
> Diffs
> -----
> 
>   /branches/1.4/channels/chan_alsa.c 280587 
>   /branches/1.4/channels/chan_misdn.c 280587 
>   /branches/1.4/channels/chan_oss.c 280587 
>   /branches/1.4/channels/chan_phone.c 280587 
>   /branches/1.4/configure UNKNOWN 
>   /branches/1.4/configure.ac 280587 
>   /branches/1.4/include/asterisk/autoconfig.h.in 280587 
>   /branches/1.4/include/asterisk/channel.h 280587 
>   /branches/1.4/include/asterisk/poll-compat.h 280587 
>   /branches/1.4/include/asterisk/select.h PRE-CREATION 
>   /branches/1.4/main/asterisk.c 280587 
>   /branches/1.4/main/poll.c 280587 
>   /branches/1.4/res/res_features.c 280587 
> 
> Diff: https://reviewboard.asterisk.org/r/824/diff
> 
> 
> Testing
> -------
> 
> Architectural review only.  Testing to commence, when other developers agree with the architecture of these changes.
> 
> 
> Thanks,
> 
> Tilghman
> 
>




More information about the asterisk-dev mailing list