Whenever adding something to a queue, include a timeout

No more wedged queues!

FREEBIE
This commit is contained in:
Scott Nonnenberg 2017-07-19 12:05:24 -07:00
parent cc2c3edaa6
commit 9db0a58260
10 changed files with 243 additions and 27 deletions

View file

@ -149,8 +149,10 @@ MessageSender.prototype = {
},
queueJobForNumber: function(number, runJob) {
var taskWithTimeout = textsecure.createTaskWithTimeout(runJob, 'queueJobForNumber ' + number);
var runPrevious = this.pendingMessages[number] || Promise.resolve();
var runCurrent = this.pendingMessages[number] = runPrevious.then(runJob, runJob);
var runCurrent = this.pendingMessages[number] = runPrevious.then(taskWithTimeout, taskWithTimeout);
runCurrent.then(function() {
if (this.pendingMessages[number] === runCurrent) {
delete this.pendingMessages[number];