diff options
author | Sergey Bolhovskoy <elzorfox@ya.ru> | 2015-03-22 19:41:47 +0000 |
---|---|---|
committer | Sergey Bolhovskoy <elzorfox@ya.ru> | 2015-03-22 19:41:47 +0000 |
commit | 4ba63fe41c45077e90e24f77bcece6af9ddeafef (patch) | |
tree | 484954e844e3017f3d49d0b9b7ff3dd033b86e5c /protocols | |
parent | 47d47d91871187493974ee79c24fc1f03c7992fd (diff) |
VKontakte:
fix order for AsyncHttpRequest in m_arRequestsQueue
git-svn-id: http://svn.miranda-ng.org/main/trunk@12476 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/VKontakte/src/misc.cpp | 6 | ||||
-rw-r--r-- | protocols/VKontakte/src/vk_proto.cpp | 2 | ||||
-rw-r--r-- | protocols/VKontakte/src/vk_proto.h | 3 |
3 files changed, 7 insertions, 4 deletions
diff --git a/protocols/VKontakte/src/misc.cpp b/protocols/VKontakte/src/misc.cpp index 756f74e190..8d3a6c1295 100644 --- a/protocols/VKontakte/src/misc.cpp +++ b/protocols/VKontakte/src/misc.cpp @@ -144,6 +144,8 @@ char* ExpUrlEncode(const char *szUrl, bool strict) /////////////////////////////////////////////////////////////////////////////////////////
+ULONG AsyncHttpRequest::m_reqCount = 0;
+
AsyncHttpRequest::AsyncHttpRequest()
{
cbSize = sizeof(NETLIBHTTPREQUEST);
@@ -156,7 +158,7 @@ AsyncHttpRequest::AsyncHttpRequest() bIsMainConn = false;
m_pFunc = NULL;
bExpUrlEncode = false;
- m_time = time(NULL);
+ m_reqNum = ::InterlockedIncrement(&m_reqCount);
m_priority = rpLow;
}
@@ -188,7 +190,7 @@ AsyncHttpRequest::AsyncHttpRequest(CVkProto *ppro, int iRequestType, LPCSTR _url pUserInfo = NULL;
m_iRetry = MAX_RETRIES;
bNeedsRestart = false;
- m_time = time(NULL);
+ m_reqNum = ::InterlockedIncrement(&m_reqCount);
m_priority = rpPriority;
}
diff --git a/protocols/VKontakte/src/vk_proto.cpp b/protocols/VKontakte/src/vk_proto.cpp index a3dc5f01c8..2c13cc782a 100644 --- a/protocols/VKontakte/src/vk_proto.cpp +++ b/protocols/VKontakte/src/vk_proto.cpp @@ -25,7 +25,7 @@ static int sttCompareProtocols(const CVkProto *p1, const CVkProto *p2) static int sttCompareAsyncHttpRequest(const AsyncHttpRequest *p1, const AsyncHttpRequest *p2)
{
if (p1->m_priority == p2->m_priority)
- return (int)p1->m_time - (int)p2->m_time;
+ return (int)p1->m_reqNum - (int)p2->m_reqNum;
return (int)p2->m_priority - (int)p1->m_priority;
}
diff --git a/protocols/VKontakte/src/vk_proto.h b/protocols/VKontakte/src/vk_proto.h index 17c922a266..933992a5f3 100644 --- a/protocols/VKontakte/src/vk_proto.h +++ b/protocols/VKontakte/src/vk_proto.h @@ -56,7 +56,8 @@ struct AsyncHttpRequest : public NETLIBHTTPREQUEST, public MZeroedObject void *pUserInfo;
int m_iRetry;
RequestPriority m_priority;
- time_t m_time;
+ static ULONG m_reqCount;
+ ULONG m_reqNum;
bool m_bApiReq;
bool bExpUrlEncode;
bool bNeedsRestart, bIsMainConn;
|