pthread_cleanup_push(3) on FreeBSD
The text 423c63d2d14d, as FreeBSD 4.11-RELEASE, FreeBSD 4.10-RELEASE, FreeBSD 4.9-RELEASE, FreeBSD 4.8-RELEASE, FreeBSD 4.7-RELEASE, FreeBSD 4.6.2-RELEASE, FreeBSD 4.6-RELEASE, FreeBSD 4.5-RELEASE shipped it.
add a cleanup function for thread exit