-
Notifications
You must be signed in to change notification settings - Fork 737
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[C][Linux][AMQP] Send a message from a message call back #26
Comments
From @chrit-msft on June 22, 2016 18:7 @lmussier I just wanted to let you know we are investigating this and while I am trying to reproduce this issue internally can you confirm that you are using MQTT as the protocol here? |
From @lmussier on June 23, 2016 7:51 @chrit-msft |
From @chrit-msft on June 24, 2016 13:23 @lmussier I am unable to reproduce the behavior you are describing. Do you have any sample code I could look at? |
From @lmussier on June 24, 2016 13:33 @chrit-msft sure, this is the content of my message receive callback.
I just spoted the call to destroy right after the send could it be he problem ? |
From @lmussier on June 27, 2016 8:29 @chrit-msft
Here are the logs
I think you have all the keys now. |
From @chrit-msft on June 28, 2016 18:49 @lmussier I was unable to reproduce this behavior using IoTHubClient_LL_SendEventAsync() which I notice you are not using. Could you please try this while I run your code and look into this? |
From @lmussier on July 6, 2016 16:48 @chrit-msft
|
From @chrit-msft on July 14, 2016 15:51 @lmussier just to provide an update, we are working with the code owners on what the side effects, if any, will be introduced from modifying how we handle locking in this code path. I will provide another update with our results. |
From @lmussier on September 6, 2016 9:16 @chrit-msft Hi, any update on the subject ? |
@lmussier - Currently not supported. Is this a blocking issue on your end? |
From @lmussier on September 21, 2016 14:48 @tameraw In a way, yes it is blocking. We are not able to support request response pattern directly with the client library. Some one who use the convenience API (like we do) will have to create a dedicated thread and manage a message queue to send responses to incoming messages. The simple use case, send a message to the device, and respond to this message becomes a complicated stuff for something that should be directly supported. |
@lmussier - Apologies for the delay on this. It's still on our list to consider adding such support. Meanwhile, if you'd like to provide a PR for this, we'd be happy to review it and give you feedback. |
From @olivierbloch on October 27, 2016 15:23 On this issue... |
From @lmussier on October 28, 2016 8:21 Glad to hear that, thanks. |
The initial deadlock reported will be fixed by the end of this month. Thank you. I will close this issue once code is released Best Regards, |
Hello @lmussier, We cannot deliver this by end of the month as anticipated. We are actively working on it and will update you on it when we have news. Best Regards, |
Hello @lmussier, We are still working on this. Still working = one person doing just this. We did not forget about it. Best Regards, |
Is this the same deadlock I end up getting between IoTHubClient_UploadToBlobAsync and IoTHubClient_SendEventAsync? |
Hi @N6UDP, Could you explain what is your issue ? We are currently building around upload2blob and we are not able to test an upload occurring during send/receive message. Is it what you are trying (and not able) to do? |
Hello all, We've fixed this for C2D messages callback in a non-multiplexed environment. Best Regards, |
@N6UDP , Could you please open another github issue with the deadlock between IoTHubClient_UploadToBlobAsync and IoTHubClient_SendEventAsync? A minimal repro would help very much. Thank you. Best Regards, |
From @lmussier on June 21, 2016 15:15
Hi,
I'm trying to send a message from a message received callback.
The use case it to sent a message upon message reception.
But it seems that I can't use IoTHubClient_SendEventAsync from within the message callback set via IoTHubClient_SetMessageCallback, I'm experiencing a dead lock when IoTHubClient_SendEventAsync try to lock the instance lock.
The solution on my side would be to create a queue where I'll put messages to send, but this is more or less what is it done in the SDK.
Is the impossibility to use IoTHubClient_SendEventAsync from within message reception call back a wished behavior ?
Copied from original issue: Azure/azure-iot-sdks#646
The text was updated successfully, but these errors were encountered: