On 04/13/2015 04:16 PM, Jarno Rajahalme wrote:
> I’ll let Ben have his say on this, but see some comments below:
>
> Jarno
>
>> On Apr 11, 2015, at 6:59 PM, Russell Bryant <[email protected]> wrote:
>> @@ -329,18 +337,34 @@ poll_block(void)
>> }
>>
>> timewarp_run();
>> - pollfds = xmalloc(hmap_count(&loop->poll_nodes) * sizeof *pollfds);
>> + if (loop->n_pollfds < hmap_count(&loop->poll_nodes)) {
>> + size_t bytes = hmap_count(&loop->poll_nodes) * sizeof
>> *loop->pollfds;
>> + if (loop->pollfds) {
>> + loop->pollfds = xrealloc(loop->pollfds, bytes);
>> + } else {
>> + loop->pollfds = xmalloc(bytes);
>> + }
>> + loop->n_pollfds = hmap_count(&loop->poll_nodes);
>> + }
>>
>
> The separate malloc is not necessary, as realloc does allocate the space when
> the pointer is NULL, so this could become:
>
> if (loop->n_pollfds < hmap_count(&loop->poll_nodes)) {
> loop->n_pollfds = hmap_count(&loop->poll_nodes);
> loop->pollfds = xrealloc(loop->pollfds, loop->n_pollfds * sizeof
> *loop->pollfds);
> }
Thanks for pointing this out! I'll incorporate this and we'll see what
Ben thinks. :-)
--
Russell Bryant
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev