Threading fixes
This commit is contained in:
parent
81229b24a6
commit
615e3f0bd0
@ -74,8 +74,9 @@ trait UpdateHandler
|
|||||||
$params['offset'] = array_reverse(array_keys((array) $this->updates))[abs($params['offset']) - 1];
|
$params['offset'] = array_reverse(array_keys((array) $this->updates))[abs($params['offset']) - 1];
|
||||||
}
|
}
|
||||||
$updates = [];
|
$updates = [];
|
||||||
ksort($this->updates);
|
$supdates = (array) $this->updates;
|
||||||
foreach ($this->updates as $key => $value) {
|
ksort($supdates);
|
||||||
|
foreach ($supdates as $key => $value) {
|
||||||
if ($params['offset'] > $key) {
|
if ($params['offset'] > $key) {
|
||||||
$this->should_serialize = true;
|
$this->should_serialize = true;
|
||||||
unset($this->updates[$key]);
|
unset($this->updates[$key]);
|
||||||
@ -446,11 +447,12 @@ trait UpdateHandler
|
|||||||
if (empty($cur_state['pending_pts_updates'])) {
|
if (empty($cur_state['pending_pts_updates'])) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
sort($cur_state['pending_pts_updates']);
|
$pending_updates = (array) $cur_state['pending_pts_updates'];
|
||||||
|
sort($pending_updates);
|
||||||
$cur_pts = $cur_state['pts'];
|
$cur_pts = $cur_state['pts'];
|
||||||
$good_pts = false;
|
$good_pts = false;
|
||||||
$good_index = false;
|
$good_index = false;
|
||||||
foreach ($cur_state['pending_pts_updates'] as $i => $update) {
|
foreach ($pending_updates as $i => $update) {
|
||||||
$cur_pts += $update['pts_count'];
|
$cur_pts += $update['pts_count'];
|
||||||
if ($cur_pts >= $update['pts']) {
|
if ($cur_pts >= $update['pts']) {
|
||||||
$good_pts = $update['pts'];
|
$good_pts = $update['pts'];
|
||||||
@ -462,7 +464,7 @@ trait UpdateHandler
|
|||||||
}
|
}
|
||||||
$cur_state['pts'] = $good_pts;
|
$cur_state['pts'] = $good_pts;
|
||||||
for ($i = 0; $i <= $good_index; $i++) {
|
for ($i = 0; $i <= $good_index; $i++) {
|
||||||
$this->save_update($cur_state['pending_pts_updates'][$i]);
|
$this->save_update($pending_updates[$i]);
|
||||||
}
|
}
|
||||||
array_splice($cur_state['pending_pts_updates'], 0, $good_index + 1);
|
array_splice($cur_state['pending_pts_updates'], 0, $good_index + 1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user