diff --git a/quick/lib/quick-src/extra/network/CCHTTPRequest.cpp b/quick/lib/quick-src/extra/network/CCHTTPRequest.cpp index ab6cbcfb2ff482d8164d0384a859207c8c4b452c..46b6a0b94007d0a8c58acb8c2f7b254f838a42fd 100644 --- a/quick/lib/quick-src/extra/network/CCHTTPRequest.cpp +++ b/quick/lib/quick-src/extra/network/CCHTTPRequest.cpp @@ -566,20 +566,11 @@ void HTTPRequest::cleanup(void) } // curl callback - -#ifdef _WINDOWS_ -DWORD WINAPI HTTPRequest::requestCURL(LPVOID userdata) -{ - static_cast(userdata)->onRequest(); - return 0; -} -#else // _WINDOWS_ void *HTTPRequest::requestCURL(void *userdata) { static_cast(userdata)->onRequest(); return NULL; } -#endif // _WINDOWS_ size_t HTTPRequest::writeDataCURL(void *buffer, size_t size, size_t nmemb, void *userdata) { diff --git a/quick/lib/quick-src/extra/network/CCHTTPRequest.h b/quick/lib/quick-src/extra/network/CCHTTPRequest.h index e19ef6d39d48ef3bd7f2fb40ba69df369e84e39d..bb12d59add474f1714f900432def975cf6c3a6a8 100644 --- a/quick/lib/quick-src/extra/network/CCHTTPRequest.h +++ b/quick/lib/quick-src/extra/network/CCHTTPRequest.h @@ -234,19 +234,12 @@ private: int onProgress(double dltotal, double dlnow, double ultotal, double ulnow); // curl callback -#ifdef _WINDOWS_ - static DWORD WINAPI requestCURL(LPVOID userdata); -#else - pthread_t m_thread; static void *requestCURL(void *userdata); -#endif static size_t writeDataCURL(void *buffer, size_t size, size_t nmemb, void *userdata); static size_t writeHeaderCURL(void *buffer, size_t size, size_t nmemb, void *userdata); static int progressCURL(void *userdata, double dltotal, double dlnow, double ultotal, double ulnow); #if (!CC_USE_CURL) - pthread_attr_t m_threadAttr; - bool isNeedBoundary(); void createURLConnectJava(); @@ -271,7 +264,6 @@ private: int getCStrFromJByteArray(jbyteArray jba, JNIEnv* env, char** ppData); char* getCStrFromJString(jstring jstr, JNIEnv* env); #endif - }; NS_CC_EXTRA_END diff --git a/quick/lib/quick-src/extra/platform/android/CCHTTPRequestAndroid.cpp b/quick/lib/quick-src/extra/platform/android/CCHTTPRequestAndroid.cpp index 223edd182cceeed41315e759a497f5de3087d056..953edd5dfc72fb1af9e309bb83b4a0845e54c986 100644 --- a/quick/lib/quick-src/extra/platform/android/CCHTTPRequestAndroid.cpp +++ b/quick/lib/quick-src/extra/platform/android/CCHTTPRequestAndroid.cpp @@ -218,8 +218,8 @@ bool HTTPRequest::start(void) addRequestHeaderJava("Cookie", m_cookies, bBoundary); } - pthread_create(&m_thread, NULL, requestCURL, this); - pthread_detach(m_thread); // unjoinable + std::thread th(requestCURL, this); + th.detach();//exit from main thread, auto exit Director::getInstance()->getScheduler()->scheduleUpdate(this, 0, false); // CCLOG("HTTPRequest[0x%04x] - request start", s_id); @@ -579,7 +579,6 @@ void *HTTPRequest::requestCURL(void *userdata) if(jvm->DetachCurrentThread() != JNI_OK) { CCLOG("HTTPRequest - requestCURL DetachCurrentThread fail"); } - pthread_exit((void *)0); return NULL; }