After shm_FragmentInit {0x0020,0xffe0} [total free=ffe0] 0: After shm_FragmentAlloc(block, 0x010000) == NULL {0x0020,0xffe0} [total free=ffe0] 1: After shm_FragmentAlloc(block, 0x003fdc) == 0x00c024 {0x0020,0xc000} [total free=c000] 2: After shm_FragmentAlloc(block, 0x003ffc) == 0x008024 {0x0020,0x8000} [total free=8000] 3: After shm_FragmentAlloc(block, 0x003ffc) == 0x004024 {0x0020,0x4000} [total free=4000] 4: After shm_FragmentAlloc(block, 0x003ffd) == NULL {0x0020,0x4000} [total free=4000] 5: After shm_FragmentAlloc(block, 0x003ffc) == 0x000024 no free fragments [total free=0000] 6: Doing shm_FragmentFree(block, 0x000024) {0x0020,0x4000} [total free=4000] 7: After shm_FragmentAlloc(block, 0x001bfc) == 0x002424 {0x0020,0x2400} [total free=2400] 8: After shm_FragmentAlloc(block, 0x0013fc) == 0x001024 {0x0020,0x1000} [total free=1000] 9: After shm_FragmentAlloc(block, 0x000ffc) == 0x000024 no free fragments [total free=0000] 10: Doing shm_FragmentFree(block, 0x000024) {0x0020,0x1000} [total free=1000] 11: Doing shm_FragmentFree(block, 0x004024) {0x0020,0x1000} {0x4020,0x4000} [total free=5000] 12: Doing shm_FragmentFree(block, 0x00c024) {0x0020,0x1000} {0x4020,0x4000} {0xc020,0x3fe0} [total free=8fe0] 13: After shm_FragmentAlloc(block, 0x000ffc) == 0x000024 {0x4020,0x4000} {0xc020,0x3fe0} [total free=7fe0] 14: Doing shm_FragmentFree(block, 0x000024) {0x0020,0x1000} {0x4020,0x4000} {0xc020,0x3fe0} [total free=8fe0] 15: After shm_FragmentAlloc(block, 0x000ffd) == 0x007014 {0x0020,0x1000} {0x4020,0x2ff0} {0xc020,0x3fe0} [total free=7fd0] 16: Doing shm_FragmentFree(block, 0x008024) {0x0020,0x1000} {0x4020,0x2ff0} {0x8020,0x7fe0} [total free=bfd0] 17: Doing shm_FragmentFree(block, 0x001024) {0x0020,0x2400} {0x4020,0x2ff0} {0x8020,0x7fe0} [total free=d3d0] 18: Doing shm_FragmentFree(block, 0x002424) {0x0020,0x6ff0} {0x8020,0x7fe0} [total free=efd0] 19: Doing shm_FragmentFree(block, 0x007014) {0x0020,0xffe0} [total free=ffe0]