id summary reporter owner description type status milestone component version severity resolution keywords cc 133 thread_cleanup problems nobody Roland Schwarz "{{{ Compiling for as a library using CodeWarrior 8.3 running MacOS 9.2.2, many compile-time errors with ""thread_cleanup.cpp"". The modifications shown below get rid of the compile-time errors (indicated by //eg), but I'm not sure if they are the right way to handle things. // Copyright (C) 2001 // Mac Murrett // // Permission to use, copy, modify, distribute and sell this software // and its documentation for any purpose is hereby granted without fee, // provided that the above copyright notice appear in all copies and // that both that copyright notice and this permission notice appear // in supporting documentation. Mac Murrett makes no representations // about the suitability of this software for any purpose. It is // provided ""as is"" without express or implied warranty. // // See http://www.boost.org for most recent version including documentation. #include ""thread_cleanup.hpp"" #include //eg #include //eg namespace boost { namespace threads { namespace mac { namespace detail { namespace { TaskStorageIndex g_ulIndex(0UL); } // anonymous namespace void do_thread_startup() { if(g_ulIndex == 0UL) { OSStatus lStatus = MPAllocateTaskStorageIndex(&g_ulIndex); assert(lStatus == noErr); } set_thread_cleanup_task(NULL); } void do_thread_cleanup() { //eg void (*pfnTask)() = MPGetTaskValue(g_ulIndex); //eg New function name shown in Multiprocessing API version 2.4 void (*pfnTask)() = (void (*)()) MPGetTaskStorageValue(g_ulIndex); //eg } void set_thread_cleanup_task(void (*pfnTask)()) { //eg lStatus = MPSetTaskValue(g_ulIndex, reinterpret_cast(pfnTask)); OSStatus lStatus = MPSetTaskStorageValue(g_ulIndex, reinterpret_cast(pfnTask)); //eg assert(lStatus == noErr); } } // namespace detail } // namespace mac } // namespace threads } // namespace boost }}}" Bugs closed threads None None