fixes for the compilation warnings with Sun CC:

1. some fixes for "String literal to char * conversion" warnings (many
   more left in the *.xpm files)
2. fixes for "assignment of function to extern "C" function"
3. a few other miscellaneous ones


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-01-09 12:49:12 +00:00
parent 53fd33dcf1
commit 903506828b
43 changed files with 387 additions and 247 deletions

View File

@@ -490,6 +490,13 @@ void wxCondition::Broadcast()
// wxThread (Posix implementation)
//--------------------------------------------------------------------
#if HAVE_THREAD_CLEANUP_FUNCTIONS
// thread exit function
extern "C" void wxPthreadCleanup(void *ptr);
#endif // HAVE_THREAD_CLEANUP_FUNCTIONS
class wxThreadInternal
{
public:
@@ -499,11 +506,6 @@ public:
// thread entry function
static void *PthreadStart(void *ptr);
#if HAVE_THREAD_CLEANUP_FUNCTIONS
// thread exit function
static void PthreadCleanup(void *ptr);
#endif
// thread actions
// start the thread
wxThreadError Run();
@@ -549,6 +551,11 @@ public:
// sometimes - tell the thread that it should do it
void Notify() { m_shouldBroadcast = TRUE; }
#if HAVE_THREAD_CLEANUP_FUNCTIONS
// this is used by wxPthreadCleanup() only
static void Cleanup(wxThread *thread);
#endif // HAVE_THREAD_CLEANUP_FUNCTIONS
private:
pthread_t m_threadId; // id of the thread
wxThreadState m_state; // see wxThreadState enum
@@ -615,7 +622,7 @@ void *wxThreadInternal::PthreadStart(void *ptr)
#if HAVE_THREAD_CLEANUP_FUNCTIONS
// install the cleanup handler which will be called if the thread is
// cancelled
pthread_cleanup_push(wxThreadInternal::PthreadCleanup, ptr);
pthread_cleanup_push(wxPthreadCleanup, ptr);
#endif // HAVE_THREAD_CLEANUP_FUNCTIONS
// wait for the condition to be signaled from Run()
@@ -645,7 +652,7 @@ void *wxThreadInternal::PthreadStart(void *ptr)
pthread->GetId());
// change the state of the thread to "exited" so that
// PthreadCleanup handler won't do anything from now (if it's
// wxPthreadCleanup handler won't do anything from now (if it's
// called before we do pthread_cleanup_pop below)
pthread->SetState(STATE_EXITED);
}
@@ -679,10 +686,13 @@ void *wxThreadInternal::PthreadStart(void *ptr)
#if HAVE_THREAD_CLEANUP_FUNCTIONS
// this handler is called when the thread is cancelled
void wxThreadInternal::PthreadCleanup(void *ptr)
extern "C" void wxPthreadCleanup(void *ptr)
{
wxThread *thread = (wxThread *) ptr;
wxThreadInternal::Cleanup((wxThread *)ptr);
}
void wxThreadInternal::Cleanup(wxThread *thread)
{
{
wxCriticalSectionLocker lock(thread->m_critsect);
if ( thread->m_internal->GetState() == STATE_EXITED )
@@ -1284,7 +1294,7 @@ wxThreadError wxThread::Kill()
if ( m_isDetached )
{
// if we use cleanup function, this will be done from
// PthreadCleanup()
// wxPthreadCleanup()
#if !HAVE_THREAD_CLEANUP_FUNCTIONS
ScheduleThreadForDeletion();