回答編集履歴

4

a

2016/06/19 10:08

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -118,7 +118,7 @@
118
118
 
119
119
 
120
120
 
121
- assert($active === false); // これはfalseにならないとおかしい
121
+ assert($active === 0); // これは必ず成立する
122
122
 
123
123
 
124
124
 

3

アサーションを追加

2016/06/19 10:08

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -118,6 +118,10 @@
118
118
 
119
119
 
120
120
 
121
+ assert($active === false); // これはfalseにならないとおかしい
122
+
123
+
124
+
121
125
  return $errors;
122
126
 
123
127
  }

2

ロジック修正

2016/06/19 10:07

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -42,9 +42,13 @@
42
42
 
43
43
  foreach ($curls as $i => $ch) {
44
44
 
45
- if ($count < $limit && CURLM_OK === curl_multi_add_handle($mh, $ch)) {
45
+ if ($count < $limit) {
46
46
 
47
+ if (CURLM_OK === curl_multi_add_handle($mh, $ch)) {
48
+
47
- ++$count;
49
+ ++$count;
50
+
51
+ }
48
52
 
49
53
  } else {
50
54
 
@@ -100,7 +104,7 @@
100
104
 
101
105
  --$count;
102
106
 
103
- if (($ch = array_shift($queue)) && CURLM_OK === curl_multi_add_handle($mh, $ch)) {
107
+ if ($ch = array_shift($queue) and CURLM_OK === curl_multi_add_handle($mh, $ch)) {
104
108
 
105
109
  ++$count;
106
110
 

1

注意

2016/06/19 10:00

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -78,6 +78,8 @@
78
78
 
79
79
  // このときにエラーコードの配列を埋めておく
80
80
 
81
+ // (ここでプールから除去もしてしまうとエラーになるので注意!一旦すべて取り出す必要がある)
82
+
81
83
  $entries = [];
82
84
 
83
85
  do if ($entry = curl_multi_info_read($mh, $remains)) {