On Fri, Dec 28, 2001 at 10:03:57AM +1000, Brian Havard wrote: > > Log: > > Convert apr_thread_exit(..., apr_status_t *retval) to > > apr_thread_exit(..., apr_status_t retval) so that status values > > can actually be returned back to apr_thread_join. > > > > This patch converts all platforms to store the returned status > > in the platform-specific opaque thread structure. > > Ok, but wouldn't it make sense for apr_thread_start_t to have a return type > of apr_status_t too rather than void *? That way a return from the thread > has the same type as apr_thread_exit().
A problem with this is that it introduces a second way to return a status from an exiting thread. One reason we need apr_thread_exit is so that we can exit the thread without falling all the way back to the initially called apr_thread_start_t function. Another reason* why we need apr_thread_exit that I just relized is that it destroys the thread's pool. If the thread exits w/o calling apr_thread_exit then it is leaking memory. -aaron *I'll rush off and check all apr_thread_create's to make sure they have all the apr_thread_exit()s that they need.
