@@ -465,13 +465,10 @@ static int swoole_client_error_callback(zval *zobject, swEvent *event, int error
465
465
466
466
php_error_docref (NULL TSRMLS_CC , E_WARNING , "swoole_client: connect to server failed. Error: %s [%d]" , strerror (error ), error );
467
467
468
- SwooleG .main_reactor -> del (SwooleG .main_reactor , event -> fd );
469
- zcallback = zend_read_property (swoole_client_class_entry_ptr , zobject , SW_STRL (php_sw_client_onError )- 1 , 0 TSRMLS_CC );
468
+ SwooleG .main_reactor -> del (SwooleG .main_reactor , event -> fd );
469
+ zcallback = zend_read_property (swoole_client_class_entry_ptr , zobject , SW_STRL (php_sw_client_onError )- 1 , 0 TSRMLS_CC );
470
470
471
- zval * errCode ;
472
- MAKE_STD_ZVAL (errCode );
473
- ZVAL_LONG (errCode , error );
474
- zend_update_property (swoole_client_class_entry_ptr , zobject , ZEND_STRL ("errCode" ), errCode TSRMLS_CC );
471
+ zend_update_property_long (swoole_client_class_entry_ptr , zobject , ZEND_STRL ("errCode" ), error TSRMLS_CC );
475
472
476
473
args [0 ] = & zobject ;
477
474
@@ -487,7 +484,6 @@ static int swoole_client_error_callback(zval *zobject, swEvent *event, int error
487
484
return SW_ERR ;
488
485
}
489
486
490
- zval_ptr_dtor (& errCode );
491
487
if (retval )
492
488
{
493
489
zval_ptr_dtor (& retval );
@@ -665,7 +661,7 @@ void php_swoole_try_run_reactor()
665
661
666
662
static swClient * swoole_client_create_socket (zval * object , char * host , int host_len , int port )
667
663
{
668
- zval * ztype , * zres , * zsockfd , * zerrorCode ;
664
+ zval * ztype , * zres ;
669
665
int async = 0 ;
670
666
swClient * cli ;
671
667
char conn_key [SW_LONG_CONNECTION_KEY_LEN ];
@@ -724,10 +720,8 @@ static swClient* swoole_client_create_socket(zval *object, char *host, int host_
724
720
create_socket :
725
721
if (swClient_create (cli , php_swoole_socktype (type ), async ) < 0 )
726
722
{
727
- php_error_docref (NULL TSRMLS_CC , E_WARNING , "swoole_client: create failed. Error: %s [%d]" , strerror (errno ), errno );
728
- MAKE_STD_ZVAL (zerrorCode );
729
- ZVAL_LONG (zerrorCode , errno );
730
- zend_update_property (swoole_client_class_entry_ptr , object , ZEND_STRL ("errCode" ), zerrorCode TSRMLS_CC );
723
+ php_error_docref (NULL TSRMLS_CC , E_WARNING , "create failed. Error: %s [%d]" , strerror (errno ), errno );
724
+ zend_update_property_long (swoole_client_class_entry_ptr , object , ZEND_STRL ("errCode" ), errno TSRMLS_CC );
731
725
return NULL ;
732
726
}
733
727
//don't forget free it
@@ -736,16 +730,12 @@ static swClient* swoole_client_create_socket(zval *object, char *host, int host_
736
730
}
737
731
738
732
MAKE_STD_ZVAL (zres );
739
- MAKE_STD_ZVAL (zsockfd );
740
- ZVAL_LONG (zsockfd , cli -> connection .fd );
741
-
742
733
ZEND_REGISTER_RESOURCE (zres , cli , le_swoole_client );
743
734
744
- zend_update_property (swoole_client_class_entry_ptr , object , ZEND_STRL ("sock" ), zsockfd TSRMLS_CC );
735
+ zend_update_property_long (swoole_client_class_entry_ptr , object , ZEND_STRL ("sock" ), cli -> connection . fd TSRMLS_CC );
745
736
zend_update_property (swoole_client_class_entry_ptr , object , ZEND_STRL ("_client" ), zres TSRMLS_CC );
746
737
747
738
zval_ptr_dtor (& zres );
748
- zval_ptr_dtor (& zsockfd );
749
739
750
740
if (type & SW_FLAG_KEEP )
751
741
{
@@ -1106,7 +1096,7 @@ PHP_METHOD(swoole_client, __construct)
1106
1096
}
1107
1097
1108
1098
#ifdef ZTS
1109
- if (sw_thread_ctx == NULL )
1099
+ if (sw_thread_ctx == NULL )
1110
1100
{
1111
1101
TSRMLS_SET_CTX (sw_thread_ctx );
1112
1102
}
@@ -1128,7 +1118,6 @@ PHP_METHOD(swoole_client, connect)
1128
1118
int host_len ;
1129
1119
double timeout = 0.1 ; //默认100ms超时
1130
1120
1131
- zval * errCode ;
1132
1121
zval * callback = NULL ;
1133
1122
swClient * cli = NULL ;
1134
1123
@@ -1229,10 +1218,7 @@ PHP_METHOD(swoole_client, connect)
1229
1218
else if (ret < 0 )
1230
1219
{
1231
1220
php_error_docref (NULL TSRMLS_CC , E_WARNING , "connect to server[%s:%d] failed. Error: %s [%d]" , host , (int )port , strerror (errno ), errno );
1232
- MAKE_STD_ZVAL (errCode );
1233
- ZVAL_LONG (errCode , errno );
1234
- zend_update_property (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , errCode TSRMLS_CC );
1235
- zval_ptr_dtor (& errCode );
1221
+ zend_update_property_long (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , errno TSRMLS_CC );
1236
1222
RETURN_FALSE ;
1237
1223
}
1238
1224
RETURN_TRUE ;
@@ -1244,7 +1230,6 @@ PHP_METHOD(swoole_client, send)
1244
1230
int data_len ;
1245
1231
1246
1232
zval * * zres ;
1247
- zval * errCode ;
1248
1233
swClient * cli ;
1249
1234
1250
1235
if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "s" , & data , & data_len ) == FAILURE )
@@ -1280,12 +1265,8 @@ PHP_METHOD(swoole_client, send)
1280
1265
if (ret < 0 )
1281
1266
{
1282
1267
SwooleG .error = errno ;
1283
- //这里的错误信息没用
1284
1268
php_error_docref (NULL TSRMLS_CC , E_WARNING , "send() failed. Error: %s [%d]" , strerror (SwooleG .error ), SwooleG .error );
1285
- MAKE_STD_ZVAL (errCode );
1286
- ZVAL_LONG (errCode , SwooleG .error );
1287
- zend_update_property (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , errCode TSRMLS_CC );
1288
- zval_ptr_dtor (& errCode );
1269
+ zend_update_property_long (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , SwooleG .error TSRMLS_CC );
1289
1270
RETVAL_FALSE ;
1290
1271
}
1291
1272
else
@@ -1300,7 +1281,6 @@ PHP_METHOD(swoole_client, sendfile)
1300
1281
int file_len ;
1301
1282
1302
1283
zval * * zres ;
1303
- zval * errCode ;
1304
1284
swClient * cli ;
1305
1285
1306
1286
if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "s" , & file , & file_len ) == FAILURE )
@@ -1337,12 +1317,8 @@ PHP_METHOD(swoole_client, sendfile)
1337
1317
if (ret < 0 )
1338
1318
{
1339
1319
SwooleG .error = errno ;
1340
- //这里的错误信息没用
1341
1320
php_error_docref (NULL TSRMLS_CC , E_WARNING , "sendfile() failed. Error: %s [%d]" , strerror (SwooleG .error ), SwooleG .error );
1342
- MAKE_STD_ZVAL (errCode );
1343
- ZVAL_LONG (errCode , SwooleG .error );
1344
- zend_update_property (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , errCode TSRMLS_CC );
1345
- zval_ptr_dtor (& errCode );
1321
+ zend_update_property_long (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , SwooleG .error TSRMLS_CC );
1346
1322
RETVAL_FALSE ;
1347
1323
}
1348
1324
else
@@ -1358,7 +1334,6 @@ PHP_METHOD(swoole_client, recv)
1358
1334
char buf_array [SW_PHP_CLIENT_BUFFER_SIZE ];
1359
1335
char * buf ;
1360
1336
zval * * zres ;
1361
- zval * errCode ;
1362
1337
1363
1338
//zval *zdata;
1364
1339
int ret ;
@@ -1405,12 +1380,8 @@ PHP_METHOD(swoole_client, recv)
1405
1380
if (ret < 0 )
1406
1381
{
1407
1382
SwooleG .error = errno ;
1408
- //这里的错误信息没用
1409
1383
php_error_docref (NULL TSRMLS_CC , E_WARNING , "recv() failed. Error: %s [%d]" , strerror (SwooleG .error ), SwooleG .error );
1410
- MAKE_STD_ZVAL (errCode );
1411
- ZVAL_LONG (errCode , SwooleG .error );
1412
- zend_update_property (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , errCode TSRMLS_CC );
1413
- zval_ptr_dtor (& errCode );
1384
+ zend_update_property_long (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , SwooleG .error TSRMLS_CC );
1414
1385
RETVAL_FALSE ;
1415
1386
}
1416
1387
else
@@ -1618,7 +1589,6 @@ PHP_FUNCTION(swoole_client_select)
1618
1589
{
1619
1590
zval * r_array , * w_array , * e_array ;
1620
1591
fd_set rfds , wfds , efds ;
1621
- zval * errCode ;
1622
1592
1623
1593
int max_fd = 0 ;
1624
1594
int retval , sets = 0 ;
@@ -1655,10 +1625,8 @@ PHP_FUNCTION(swoole_client_select)
1655
1625
1656
1626
if (retval == -1 )
1657
1627
{
1658
- MAKE_STD_ZVAL (errCode );
1659
- ZVAL_LONG (errCode , errno );
1660
- zend_update_property (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , errCode TSRMLS_CC );
1661
- php_error_docref (NULL TSRMLS_CC , E_WARNING , "swoole_client: unable to select. Error: %s [%d]" , strerror (errno ), errno );
1628
+ zend_update_property_long (swoole_client_class_entry_ptr , getThis (), SW_STRL ("errCode" )- 1 , errno TSRMLS_CC );
1629
+ php_error_docref (NULL TSRMLS_CC , E_WARNING , "unable to select. Error: %s [%d]" , strerror (errno ), errno );
1662
1630
RETURN_FALSE ;
1663
1631
}
1664
1632
if (r_array != NULL )
0 commit comments