Problem was in syscall function as @JhonBollinger noticed mp_parent is index of parent in mproc. So it should be
mp_parent
if ((child->mp_flags & IN_USE) && mproc[child->mp_parent].mp_pid == proc->mp_pid) { child_count++; }