fix blocking routines. valgrind test ok.

mq_blk_test:
==<pid>==
==<pid>== HEAP SUMMARY:
==<pid>==     in use at exit: 0 bytes in 0 blocks
==<pid>==   total heap usage: 37 allocs, 37 frees, 1,792 bytes allocated
==<pid>==
==<pid>== All heap blocks were freed -- no leaks are possible
==<pid>==
==<pid>== For counts of detected and suppressed errors, rerun with: -v
==<pid>== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

mq_nblk_test:
==<pid>==
==<pid>== HEAP SUMMARY:
==<pid>==     in use at exit: 0 bytes in 0 blocks
==<pid>==   total heap usage: 37 allocs, 37 frees, 1,792 bytes allocated
==<pid>==
==<pid>== All heap blocks were freed -- no leaks are possible
==<pid>==
==<pid>== For counts of detected and suppressed errors, rerun with: -v
==<pid>== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)