PIPeer important fix!
git-svn-id: svn://db.shs.com.ru/pip@115 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -129,6 +129,7 @@ bool PIThread::start(int timer_delay) {
|
||||
pthread_attr_destroy(&attr);
|
||||
if (ret == 0) {
|
||||
#else
|
||||
if (thread != 0) CloseHandle(thread);
|
||||
thread = (void *)_beginthreadex(0, 0, thread_function, this, 0, 0);
|
||||
// thread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)thread_function, this, 0, 0);
|
||||
if (thread != 0) {
|
||||
@@ -157,7 +158,7 @@ bool PIThread::startOnce() {
|
||||
pthread_attr_destroy(&attr);
|
||||
if (ret == 0) {
|
||||
#else
|
||||
uint _id = 0;
|
||||
if (thread != 0) CloseHandle(thread);
|
||||
thread = (void *)_beginthreadex(0, 0, thread_function_once, this, 0, 0);
|
||||
// thread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)thread_function_once, this, 0, 0);
|
||||
if (thread != 0) {
|
||||
@@ -194,7 +195,7 @@ void PIThread::terminate() {
|
||||
}
|
||||
|
||||
|
||||
uint __stdcall PIThread::thread_function(void * t) {
|
||||
__THREAD_FUNC__ PIThread::thread_function(void * t) {
|
||||
#ifndef WINDOWS
|
||||
# ifndef ANDROID
|
||||
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, 0);
|
||||
@@ -235,19 +236,19 @@ uint __stdcall PIThread::thread_function(void * t) {
|
||||
//cout << "thread " << t << " exiting ... " << endl;
|
||||
#ifndef WINDOWS
|
||||
pthread_detach(ct.thread);
|
||||
#endif
|
||||
ct.thread = 0;
|
||||
#endif
|
||||
#ifndef WINDOWS
|
||||
pthread_exit(0);
|
||||
#else
|
||||
_endthreadex(0);
|
||||
// ExitThread(0);
|
||||
//ExitThread(0);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
uint __stdcall PIThread::thread_function_once(void * t) {
|
||||
__THREAD_FUNC__ PIThread::thread_function_once(void * t) {
|
||||
#ifndef WINDOWS
|
||||
# ifndef ANDROID
|
||||
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, 0);
|
||||
@@ -270,13 +271,13 @@ uint __stdcall PIThread::thread_function_once(void * t) {
|
||||
//cout << "thread " << t << " exiting ... " << endl;
|
||||
#ifndef WINDOWS
|
||||
pthread_detach(ct.thread);
|
||||
#endif
|
||||
ct.thread = 0;
|
||||
#endif
|
||||
#ifndef WINDOWS
|
||||
pthread_exit(0);
|
||||
#else
|
||||
_endthreadex(0);
|
||||
// ExitThread(0);
|
||||
//ExitThread(0);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user