Opened 20 years ago
Closed 17 years ago
#133 closed Bugs (None)
thread_cleanup problems
| Reported by: | nobody | Owned by: | Roland Schwarz |
|---|---|---|---|
| Milestone: | Component: | threads | |
| Version: | None | Severity: | |
| Keywords: | Cc: |
Description
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 <Multiprocessing.h> //eg
#include <cassert> //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<TaskStorageValue>(pfnTask));
OSStatus lStatus =
MPSetTaskStorageValue(g_ulIndex,
reinterpret_cast<TaskStorageValue>(pfnTask));
//eg
assert(lStatus == noErr);
}
} // namespace detail
} // namespace mac
} // namespace threads
} // namespace boost
Change History (2)
comment:2 by , 17 years ago
| Status: | assigned → closed |
|---|
Logged In: YES user_id=541730 This bug is beeing closed, since support for MPTasks is beeing dropped. Users are encouraged to use boost.thread on pthreads, which is available on the newer platforms.
Note:
See TracTickets
for help on using tickets.
