socket_connection_state_changed not work in multithread

socket_connection_state_changed not work in multithread

BY 28 Apr 2017 Native Application Development

Hello.

I register callback function like below.

bt_socket_set_connection_state_changed_cb(socket_connection_state_changed, NULL);

Arleady I test my bluetooth functions and work well with single thread data transfer.

But when I start multithread, socket_connection_state_changed don’t work as should do.

 

For example, I call bt_socket_connect_rfcomm() in two thread almost simutanously. remote_address is same but uuid is different.

Remote device is accepting two different uuid matched tizen uuid.

socket_connection_state_changed is called twice and work well at one call.  It can receive client_socket and can do data transfer.

But other call show BT_ERROR_NOW_IN_PROGRESS error in parameter result.

What is mean this error and how can I take care multithread works in this situation?

 

I can see BT_ERROR_NOW_IN_PROGRESS error in other tizen API sometimes.  But there are no reference what to do in this case.

 

 

Written by