Fix issue in pending messages handling for managed client.

This commit is contained in:
Christian Kratky
2018-09-13 09:29:26 +02:00
parent 028a39ec25
commit 682298b69f
@@ -226,7 +226,7 @@ namespace MQTTnet.Extensions.ManagedClient
{ {
try try
{ {
while (!cancellationToken.IsCancellationRequested) while (!cancellationToken.IsCancellationRequested && _mqttClient.IsConnected)
{ {
var message = _messageQueue.Take(cancellationToken); var message = _messageQueue.Take(cancellationToken);
if (message == null) if (message == null)
@@ -367,7 +367,6 @@ namespace MQTTnet.Extensions.ManagedClient
} }
var cts = new CancellationTokenSource(); var cts = new CancellationTokenSource();
_publishingCancellationToken = cts; _publishingCancellationToken = cts;
Task.Factory.StartNew(() => PublishQueuedMessages(cts.Token), cts.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); Task.Factory.StartNew(() => PublishQueuedMessages(cts.Token), cts.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);