aboutsummaryrefslogtreecommitdiffstats
path: root/src/eap_peer/eap_proxy_qmi.c
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2016-08-15 02:06:33 -0700
committerSteve Kondik <steve@cyngn.com>2016-08-15 02:06:33 -0700
commitdc6ca4340a7ad6005a2e13b66bb2995e8010aa82 (patch)
treea10cfe90c813fea4f55682d918759aa5e2c54aab /src/eap_peer/eap_proxy_qmi.c
parenta08fd9e9b66b23ceb7f14aaba3150e2146393b37 (diff)
parentdff13b397b9dc3a1bb9120c2c3fcc8793cdb97b9 (diff)
downloadandroid_external_wpa_supplicant_8-dc6ca4340a7ad6005a2e13b66bb2995e8010aa82.tar.gz
android_external_wpa_supplicant_8-dc6ca4340a7ad6005a2e13b66bb2995e8010aa82.tar.bz2
android_external_wpa_supplicant_8-dc6ca4340a7ad6005a2e13b66bb2995e8010aa82.zip
Merge branch 'wlan-service.lnx.1.0-rel.1.0' of git://codeaurora.org/platform/external/wpa_supplicant_8 into cm-13.0replicant-6.0-0002replicant-6.0-0001
Change-Id: I110d3aa8efe7861b7a5b0dd570bfe5b0ec88e6be
Diffstat (limited to 'src/eap_peer/eap_proxy_qmi.c')
-rw-r--r--src/eap_peer/eap_proxy_qmi.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/eap_peer/eap_proxy_qmi.c b/src/eap_peer/eap_proxy_qmi.c
index 60710306..fc469e64 100644
--- a/src/eap_peer/eap_proxy_qmi.c
+++ b/src/eap_peer/eap_proxy_qmi.c
@@ -716,6 +716,20 @@ int eap_auth_end_eap_session(qmi_client_type qmi_auth_svc_client_ptr)
return 0;
}
+static void eap_proxy_schedule_thread(void *eloop_ctx, void *timeout_ctx)
+{
+ struct eap_proxy_sm *eap_proxy = eloop_ctx;
+ pthread_attr_t attr;
+ int ret = -1;
+
+ pthread_attr_init(&attr);
+ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
+ ret = pthread_create(&eap_proxy->thread_id, &attr, eap_proxy_post_init, eap_proxy);
+ if(ret < 0)
+ wpa_printf(MSG_ERROR, "eap_proxy: starting thread is failed %d\n", ret);
+}
+
+
struct eap_proxy_sm *
eap_proxy_init(void *eapol_ctx, struct eapol_callbacks *eapol_cb,
void *msg_ctx)
@@ -724,8 +738,6 @@ eap_proxy_init(void *eapol_ctx, struct eapol_callbacks *eapol_cb,
int qmiRetCode;
struct eap_proxy_sm *eap_proxy;
qmi_idl_service_object_type qmi_client_service_obj;
- pthread_attr_t attr;
- int ret = -1;
eap_proxy = os_malloc(sizeof(struct eap_proxy_sm));
if (NULL == eap_proxy) {
@@ -751,11 +763,7 @@ eap_proxy_init(void *eapol_ctx, struct eapol_callbacks *eapol_cb,
* parent process that created the qmi client context.
*/
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
- ret = pthread_create(&eap_proxy->thread_id, &attr, eap_proxy_post_init, eap_proxy);
- if(ret < 0)
- wpa_printf(MSG_ERROR, "eap_proxy: starting thread is failed %d\n", ret);
+ eloop_register_timeout(0, 0, eap_proxy_schedule_thread, eap_proxy, NULL);
return eap_proxy;
}