提交 5f5c928f 编写于 作者: cocos2d-lua.org's avatar cocos2d-lua.org

去 _WINDOWS_ 宏,去pthread。

上级 87558bb7
...@@ -566,20 +566,11 @@ void HTTPRequest::cleanup(void) ...@@ -566,20 +566,11 @@ void HTTPRequest::cleanup(void)
} }
// curl callback // curl callback
#ifdef _WINDOWS_
DWORD WINAPI HTTPRequest::requestCURL(LPVOID userdata)
{
static_cast<HTTPRequest*>(userdata)->onRequest();
return 0;
}
#else // _WINDOWS_
void *HTTPRequest::requestCURL(void *userdata) void *HTTPRequest::requestCURL(void *userdata)
{ {
static_cast<HTTPRequest*>(userdata)->onRequest(); static_cast<HTTPRequest*>(userdata)->onRequest();
return NULL; return NULL;
} }
#endif // _WINDOWS_
size_t HTTPRequest::writeDataCURL(void *buffer, size_t size, size_t nmemb, void *userdata) size_t HTTPRequest::writeDataCURL(void *buffer, size_t size, size_t nmemb, void *userdata)
{ {
......
...@@ -234,19 +234,12 @@ private: ...@@ -234,19 +234,12 @@ private:
int onProgress(double dltotal, double dlnow, double ultotal, double ulnow); int onProgress(double dltotal, double dlnow, double ultotal, double ulnow);
// curl callback // curl callback
#ifdef _WINDOWS_
static DWORD WINAPI requestCURL(LPVOID userdata);
#else
pthread_t m_thread;
static void *requestCURL(void *userdata); static void *requestCURL(void *userdata);
#endif
static size_t writeDataCURL(void *buffer, size_t size, size_t nmemb, void *userdata); 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 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); static int progressCURL(void *userdata, double dltotal, double dlnow, double ultotal, double ulnow);
#if (!CC_USE_CURL) #if (!CC_USE_CURL)
pthread_attr_t m_threadAttr;
bool isNeedBoundary(); bool isNeedBoundary();
void createURLConnectJava(); void createURLConnectJava();
...@@ -271,7 +264,6 @@ private: ...@@ -271,7 +264,6 @@ private:
int getCStrFromJByteArray(jbyteArray jba, JNIEnv* env, char** ppData); int getCStrFromJByteArray(jbyteArray jba, JNIEnv* env, char** ppData);
char* getCStrFromJString(jstring jstr, JNIEnv* env); char* getCStrFromJString(jstring jstr, JNIEnv* env);
#endif #endif
}; };
NS_CC_EXTRA_END NS_CC_EXTRA_END
......
...@@ -218,8 +218,8 @@ bool HTTPRequest::start(void) ...@@ -218,8 +218,8 @@ bool HTTPRequest::start(void)
addRequestHeaderJava("Cookie", m_cookies, bBoundary); addRequestHeaderJava("Cookie", m_cookies, bBoundary);
} }
pthread_create(&m_thread, NULL, requestCURL, this); std::thread th(requestCURL, this);
pthread_detach(m_thread); // unjoinable th.detach();//exit from main thread, auto exit
Director::getInstance()->getScheduler()->scheduleUpdate(this, 0, false); Director::getInstance()->getScheduler()->scheduleUpdate(this, 0, false);
// CCLOG("HTTPRequest[0x%04x] - request start", s_id); // CCLOG("HTTPRequest[0x%04x] - request start", s_id);
...@@ -579,7 +579,6 @@ void *HTTPRequest::requestCURL(void *userdata) ...@@ -579,7 +579,6 @@ void *HTTPRequest::requestCURL(void *userdata)
if(jvm->DetachCurrentThread() != JNI_OK) { if(jvm->DetachCurrentThread() != JNI_OK) {
CCLOG("HTTPRequest - requestCURL DetachCurrentThread fail"); CCLOG("HTTPRequest - requestCURL DetachCurrentThread fail");
} }
pthread_exit((void *)0);
return NULL; return NULL;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册