Changeset 32876


Ignore:
Timestamp:
2012-07-25T22:43:20+02:00 (6 years ago)
Author:
mhei
Message:

[packages] php5: update pecl module libevent to 0.0.5

Signed-off-by: Michael Heimpold <mhei@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • packages/lang/php5/patches/020-PECL-add-libevent.patch

    r27838 r32876  
    6060--- /dev/null 
    6161+++ b/ext/libevent/libevent.c 
    62 @@ -0,0 +1,1564 @@ 
     62@@ -0,0 +1,1663 @@ 
    6363+/* 
    6464+  +----------------------------------------------------------------------+ 
     
    8080+*/ 
    8181+ 
    82 +/* $Id: libevent.c 300303 2010-06-09 10:43:38Z tony2001 $ */ 
     82+/* $Id: libevent.c 318910 2011-11-08 12:34:37Z tony2001 $ */ 
    8383+ 
    8484+#ifdef HAVE_CONFIG_H 
     
    9898+# include "ext/sockets/php_sockets.h" 
    9999+# define LIBEVENT_SOCKETS_SUPPORT 
     100+#endif 
     101+ 
     102+#ifndef ZEND_FETCH_RESOURCE_NO_RETURN  
     103+# define ZEND_FETCH_RESOURCE_NO_RETURN(rsrc, rsrc_type, passed_id, default_id, resource_type_name, resource_type) \ 
     104+       (rsrc = (rsrc_type) zend_fetch_resource(passed_id TSRMLS_CC, default_id, resource_type_name, NULL, 1, resource_type)) 
    100105+#endif 
    101106+ 
     
    414419+       base->events = 0; 
    415420+ 
     421+#if PHP_MAJOR_VERSION >= 5 && PHP_MINOR_VERSION >= 4 
     422+       base->rsrc_id = zend_list_insert(base, le_event_base TSRMLS_CC); 
     423+#else 
    416424+       base->rsrc_id = zend_list_insert(base, le_event_base); 
     425+#endif 
    417426+       RETURN_RESOURCE(base->rsrc_id); 
    418427+} 
     
    602611+       TSRMLS_SET_CTX(event->thread_ctx); 
    603612+ 
     613+#if PHP_MAJOR_VERSION >= 5 && PHP_MINOR_VERSION >= 4 
     614+       event->rsrc_id = zend_list_insert(event, le_event TSRMLS_CC); 
     615+#else 
    604616+       event->rsrc_id = zend_list_insert(event, le_event); 
     617+#endif 
    605618+       RETURN_RESOURCE(event->rsrc_id); 
    606619+} 
     
    661674+/* }}} */ 
    662675+ 
    663 +/* {{{ proto bool event_set(resource event, resource fd, int events, mixed callback[, mixed arg])  
     676+/* {{{ proto bool event_set(resource event, mixed fd, int events, mixed callback[, mixed arg])  
    664677+ */ 
    665678+static PHP_FUNCTION(event_set) 
     
    675688+       php_socket *php_sock; 
    676689+#endif 
     690+       int ret; 
    677691+ 
    678692+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rZlz|z", &zevent, &fd, &events, &zcallback, &zarg) != SUCCESS) { 
     
    691705+               } 
    692706+       } else { 
    693 +               if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, fd, -1, NULL, php_file_le_stream())) { 
    694 +                       if (php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT | PHP_STREAM_CAST_INTERNAL, (void*)&file_desc, 1) != SUCCESS || file_desc < 0) { 
     707+               if (Z_TYPE_PP(fd) == IS_RESOURCE) { 
     708+                       if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, fd, -1, NULL, php_file_le_stream())) { 
     709+                               if (php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT | PHP_STREAM_CAST_INTERNAL, (void*)&file_desc, 1) != SUCCESS || file_desc < 0) { 
     710+                                       RETURN_FALSE; 
     711+                               } 
     712+                       } else { 
     713+#ifdef LIBEVENT_SOCKETS_SUPPORT 
     714+                               if (ZEND_FETCH_RESOURCE_NO_RETURN(php_sock, php_socket *, fd, -1, NULL, php_sockets_le_socket())) { 
     715+                                       file_desc = php_sock->bsd_socket; 
     716+                               } else { 
     717+                                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be either valid PHP stream or valid PHP socket resource"); 
     718+                                       RETURN_FALSE; 
     719+                               } 
     720+#else 
     721+                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream resource"); 
     722+                               RETURN_FALSE; 
     723+#endif 
     724+                       } 
     725+               } else if (Z_TYPE_PP(fd) == IS_LONG) { 
     726+                       file_desc = Z_LVAL_PP(fd); 
     727+                       if (file_desc < 0) { 
     728+                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid file descriptor passed"); 
    695729+                               RETURN_FALSE; 
    696730+                       } 
    697731+               } else { 
    698732+#ifdef LIBEVENT_SOCKETS_SUPPORT 
    699 +                       if (ZEND_FETCH_RESOURCE_NO_RETURN(php_sock, php_socket *, fd, -1, NULL, php_sockets_le_socket())) { 
    700 +                               file_desc = php_sock->bsd_socket; 
    701 +                       } else { 
    702 +                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be either valid PHP stream or valid PHP socket resource"); 
    703 +                               RETURN_FALSE; 
    704 +                       } 
     733+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream or socket resource or a file descriptor of type long"); 
    705734+#else 
    706 +                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream resource"); 
     735+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream resource or a file descriptor of type long"); 
     736+#endif 
    707737+                       RETURN_FALSE; 
    708 +#endif 
    709738+               } 
    710739+       } 
     
    742771+               _php_event_callback_free(old_callback); 
    743772+       } 
     773+ 
     774+       if (event->base) { 
     775+               ret = event_base_set(event->base->base, event->event); 
     776+               if (ret != 0) { 
     777+                       RETURN_FALSE; 
     778+               } 
     779+       } 
    744780+       RETURN_TRUE; 
    745781+} 
     
    771807+/* }}} */ 
    772808+ 
     809+/* {{{ proto bool event_priority_set(resource event, int priority)  
     810+ */ 
     811+static PHP_FUNCTION(event_priority_set) 
     812+{ 
     813+       zval *zevent; 
     814+       php_event_t *event; 
     815+       long priority; 
     816+       int ret; 
     817+ 
     818+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &zevent, &priority) != SUCCESS) { 
     819+               return; 
     820+       } 
     821+ 
     822+       ZVAL_TO_EVENT(zevent, event); 
     823+ 
     824+       if (!event->base) { 
     825+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to set event priority without an event base"); 
     826+               RETURN_FALSE; 
     827+       } 
     828+ 
     829+       ret = event_priority_set(event->event, priority); 
     830+ 
     831+       if (ret == 0) { 
     832+               RETURN_TRUE; 
     833+       } 
     834+       RETURN_FALSE; 
     835+} 
     836+/* }}} */ 
    773837+ 
    774838+/* {{{ proto bool event_timer_set(resource event, mixed callback[, mixed arg])  
     
    855919+ 
    856920+ 
    857 +/* {{{ proto resource event_buffer_new(resource stream, mixed readcb, mixed writecb, mixed errorcb[, mixed arg])  
     921+/* {{{ proto resource event_buffer_new(mixed fd, mixed readcb, mixed writecb, mixed errorcb[, mixed arg])  
    858922+ */ 
    859923+static PHP_FUNCTION(event_buffer_new) 
     
    861925+       php_bufferevent_t *bevent; 
    862926+       php_stream *stream; 
    863 +       zval *zstream, *zreadcb, *zwritecb, *zerrorcb, *zarg = NULL; 
     927+       zval *zfd, *zreadcb, *zwritecb, *zerrorcb, *zarg = NULL; 
    864928+       php_socket_t fd; 
    865929+       char *func_name; 
     
    868932+#endif 
    869933+ 
    870 +       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rzzz|z", &zstream, &zreadcb, &zwritecb, &zerrorcb, &zarg) != SUCCESS) { 
    871 +               return; 
    872 +       } 
    873 + 
    874 +       if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, &zstream, -1, NULL, php_file_le_stream())) { 
    875 +               if (php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT | PHP_STREAM_CAST_INTERNAL, (void*)&fd, 1) != SUCCESS || fd < 0) { 
     934+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zzzz|z", &zfd, &zreadcb, &zwritecb, &zerrorcb, &zarg) != SUCCESS) { 
     935+               return; 
     936+       } 
     937+        
     938+       if (Z_TYPE_P(zfd) == IS_RESOURCE) { 
     939+               if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, &zfd, -1, NULL, php_file_le_stream())) { 
     940+                       if (php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT | PHP_STREAM_CAST_INTERNAL, (void*)&fd, 1) != SUCCESS || fd < 0) { 
     941+                               RETURN_FALSE; 
     942+                       } 
     943+               } else { 
     944+#ifdef LIBEVENT_SOCKETS_SUPPORT 
     945+                       if (ZEND_FETCH_RESOURCE_NO_RETURN(php_sock, php_socket *, &zfd, -1, NULL, php_sockets_le_socket())) { 
     946+                               fd = php_sock->bsd_socket; 
     947+                       } else { 
     948+                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream or socket resource or a file descriptor of type long"); 
     949+                               RETURN_FALSE; 
     950+                       } 
     951+#else 
     952+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream resource or a file descriptor of type long"); 
    876953+                       RETURN_FALSE; 
    877 +               } 
     954+#endif 
     955+               } 
     956+       } else if (Z_TYPE_P(zfd) == IS_LONG) { 
     957+               fd = Z_LVAL_P(zfd); 
    878958+       } else { 
    879959+#ifdef LIBEVENT_SOCKETS_SUPPORT 
    880 +               if (ZEND_FETCH_RESOURCE_NO_RETURN(php_sock, php_socket *, &zstream, -1, NULL, php_sockets_le_socket())) { 
    881 +                       fd = php_sock->bsd_socket; 
    882 +               } else { 
    883 +                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "stream argument must be either valid PHP stream or valid PHP socket resource"); 
    884 +                       RETURN_FALSE; 
    885 +               } 
     960+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream or socket resource or a file descriptor of type long"); 
    886961+#else 
    887 +               php_error_docref(NULL TSRMLS_CC, E_WARNING, "stream argument must be valid PHP stream resource"); 
     962+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream resource or a file descriptor of type long"); 
     963+#endif 
    888964+               RETURN_FALSE; 
    889 +#endif 
    890965+       } 
    891966+ 
     
    9461021+       TSRMLS_SET_CTX(bevent->thread_ctx); 
    9471022+ 
     1023+#if PHP_MAJOR_VERSION >= 5 && PHP_MINOR_VERSION >= 4 
     1024+       bevent->rsrc_id = zend_list_insert(bevent, le_bufferevent TSRMLS_CC); 
     1025+#else 
    9481026+       bevent->rsrc_id = zend_list_insert(bevent, le_bufferevent); 
     1027+#endif 
    9491028+       RETURN_RESOURCE(bevent->rsrc_id); 
    9501029+} 
     
    11991278+#endif 
    12001279+ 
    1201 +       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr", &zbevent, &zfd) != SUCCESS) { 
     1280+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rz", &zbevent, &zfd) != SUCCESS) { 
    12021281+               return; 
    12031282+       } 
    12041283+ 
    12051284+       ZVAL_TO_BEVENT(zbevent, bevent); 
    1206 +       if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, &zfd, -1, NULL, php_file_le_stream())) { 
    1207 +               if (php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT | PHP_STREAM_CAST_INTERNAL, (void*)&fd, 1) != SUCCESS || fd < 0) { 
     1285+ 
     1286+       if (Z_TYPE_P(zfd) == IS_RESOURCE) { 
     1287+               if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, &zfd, -1, NULL, php_file_le_stream())) { 
     1288+                       if (php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT | PHP_STREAM_CAST_INTERNAL, (void*)&fd, 1) != SUCCESS || fd < 0) { 
     1289+                               RETURN_FALSE; 
     1290+                       } 
     1291+               } else { 
     1292+#ifdef LIBEVENT_SOCKETS_SUPPORT 
     1293+                       if (ZEND_FETCH_RESOURCE_NO_RETURN(php_sock, php_socket *, &zfd, -1, NULL, php_sockets_le_socket())) { 
     1294+                               fd = php_sock->bsd_socket; 
     1295+                       } else { 
     1296+                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream or socket resource or a file descriptor of type long"); 
     1297+                               RETURN_FALSE; 
     1298+                       } 
     1299+#else 
     1300+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream resource or a file descriptor of type long"); 
    12081301+                       RETURN_FALSE; 
    1209 +               } 
     1302+#endif 
     1303+               } 
     1304+       } else if (Z_TYPE_P(zfd) == IS_LONG) { 
     1305+               fd = Z_LVAL_P(zfd); 
    12101306+       } else { 
    12111307+#ifdef LIBEVENT_SOCKETS_SUPPORT 
    1212 +               if (ZEND_FETCH_RESOURCE_NO_RETURN(php_sock, php_socket *, &zfd, -1, NULL, php_sockets_le_socket())) { 
    1213 +                       fd = php_sock->bsd_socket; 
    1214 +               } else { 
    1215 +                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be either valid PHP stream or valid PHP socket resource"); 
    1216 +                       RETURN_FALSE; 
    1217 +               } 
     1308+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream or socket resource or a file descriptor of type long"); 
    12181309+#else 
    1219 +               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream resource"); 
     1310+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "fd argument must be valid PHP stream resource or a file descriptor of type long"); 
     1311+#endif 
    12201312+               RETURN_FALSE; 
    1221 +#endif 
    12221313+       } 
    12231314+ 
     
    13591450+       php_info_print_table_header(2, "libevent support", "enabled"); 
    13601451+       php_info_print_table_row(2, "extension version", PHP_LIBEVENT_VERSION); 
    1361 +       php_info_print_table_row(2, "Revision", "$Revision: 300303 $"); 
     1452+       php_info_print_table_row(2, "Revision", "$Revision: 318910 $"); 
    13621453+        
    13631454+       snprintf(buf, sizeof(buf) - 1, "%s", event_get_version()); 
     
    14271518+ZEND_BEGIN_ARG_INFO_EX(arginfo_event_del, 0, 0, 1) 
    14281519+       ZEND_ARG_INFO(0, event) 
     1520+ZEND_END_ARG_INFO() 
     1521+ 
     1522+EVENT_ARGINFO 
     1523+ZEND_BEGIN_ARG_INFO_EX(arginfo_event_priority_set, 0, 0, 2) 
     1524+       ZEND_ARG_INFO(0, event) 
     1525+       ZEND_ARG_INFO(0, priority) 
    14291526+ZEND_END_ARG_INFO() 
    14301527+ 
     
    15361633+       PHP_FE(event_set,                                       arginfo_event_set) 
    15371634+       PHP_FE(event_del,                                       arginfo_event_del) 
     1635+       PHP_FE(event_priority_set,                      arginfo_event_priority_set) 
    15381636+       PHP_FE(event_buffer_new,                        arginfo_event_buffer_new) 
    15391637+       PHP_FE(event_buffer_free,                       arginfo_event_buffer_free) 
     
    15721670+       PHP_FE(event_set,                                       NULL) 
    15731671+       PHP_FE(event_del,                                       NULL) 
     1672+       PHP_FE(event_priority_set,                      NULL) 
    15741673+       PHP_FE(event_buffer_new,                        NULL) 
    15751674+       PHP_FE(event_buffer_free,                       NULL) 
Note: See TracChangeset for help on using the changeset viewer.