# ZEND_MM_SMALL_FREE_BUCKET and ZEND_MM_REST_BUCKET

- Thread: https://externals.io/message/58591
- Original archive: https://news-web.php.net/php.internals/58591
- Started by adit adit on 2012-03-05T06:41:09+00:00
- Messages: 1
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #58591 — adit adit — 2012-03-05T06:41:09+00:00

URL: https://externals.io/message/58591#58591

I got some follow-up questions about Zend MM,

1) Why does  struct _zend_mm_small_free_block contain pointers to
_zend_mm_free_block and not to _zend_mm_small_free_block ?
I'm sure it's correct, i just want to know why.

2)zend_mm_free_block *free_buckets[ZEND_MM_NUM_BUCKETS*2];

What sort of elements are in that array? perhaps they're not
zend_mm_free_block?

3) also the expression:

(zend_mm_free_block*) ((char*)&heap->free_buckets[index * 2] + \
    455  sizeof(zend_mm_free_block*) * 2 - \
    456  sizeof(zend_mm_small_free_block))


What does that give you?  First you get the address of a
 poiner, thus you have a ** and then you
add smth sizeof(zend_mm_free_block*) * 2 , and then
 you substract sizeof(zend_mm_small_free_block)  which is a different type
of structure.

Thanks,
A.


ps: why the mails i try to send to this address from my yahoo accout,  are
coming back from yahoo with error "No MX address for lists.php.net", any
idea? Probably yahoo's fault?
