sas             Tue Nov 26 00:15:55 2002 EDT

  Modified files:              
    /php4/main  SAPI.c SAPI.h 
    /php4/sapi/apache   mod_php4.c 
    /php4/sapi/thttpd   thttpd.c 
  Log:
  Add sapi_get_fd() and implement it for the Apache/thttpd SAPIs.
  
  
Index: php4/main/SAPI.c
diff -u php4/main/SAPI.c:1.157 php4/main/SAPI.c:1.158
--- php4/main/SAPI.c:1.157      Thu Nov 21 05:29:11 2002
+++ php4/main/SAPI.c    Tue Nov 26 00:15:55 2002
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: SAPI.c,v 1.157 2002/11/21 10:29:11 hholzgra Exp $ */
+/* $Id: SAPI.c,v 1.158 2002/11/26 05:15:55 sas Exp $ */
 
 #include <ctype.h>
 #include <sys/stat.h>
@@ -848,6 +848,15 @@
                return sapi_module.getenv(name, name_len TSRMLS_CC);
        } else {
                return NULL;
+       }
+}
+
+SAPI_API int sapi_get_fd(int *fd TSRMLS_DC)
+{
+       if (sapi_module.get_fd) {
+               return sapi_module.get_fd(fd TSRMLS_CC);
+       } else {
+               return -1;
        }
 }
 
Index: php4/main/SAPI.h
diff -u php4/main/SAPI.h:1.89 php4/main/SAPI.h:1.90
--- php4/main/SAPI.h:1.89       Mon Nov 18 01:04:06 2002
+++ php4/main/SAPI.h    Tue Nov 26 00:15:55 2002
@@ -186,6 +186,8 @@
 SAPI_API size_t sapi_apply_default_charset(char **mimetype, size_t len TSRMLS_DC);
 SAPI_API void sapi_activate_headers_only(TSRMLS_D);
 
+SAPI_API int sapi_get_fd(int *fd TSRMLS_DC);
+
 struct _sapi_module_struct {
        char *name;
        char *pretty_name;
@@ -217,12 +219,16 @@
 
        void (*block_interruptions)(void);
        void (*unblock_interruptions)(void);
+       
 
        void (*default_post_reader)(TSRMLS_D);
        void (*treat_data)(int arg, char *str, zval *destArray TSRMLS_DC);
        char *executable_location;
 
        int php_ini_ignore;
+       
+       int (*get_fd)(int *fd TSRMLS_DC);
+
 };
 
 
Index: php4/sapi/apache/mod_php4.c
diff -u php4/sapi/apache/mod_php4.c:1.146 php4/sapi/apache/mod_php4.c:1.147
--- php4/sapi/apache/mod_php4.c:1.146   Sun Nov 10 14:34:09 2002
+++ php4/sapi/apache/mod_php4.c Tue Nov 26 00:15:55 2002
@@ -17,7 +17,7 @@
    | PHP 4.0 patches by Zeev Suraski <[EMAIL PROTECTED]>                      |
    +----------------------------------------------------------------------+
  */
-/* $Id: mod_php4.c,v 1.146 2002/11/10 19:34:09 iliaa Exp $ */
+/* $Id: mod_php4.c,v 1.147 2002/11/26 05:15:55 sas Exp $ */
 
 #include "php_apache_http.h"
 
@@ -343,6 +343,23 @@
 }
 /* }}} */
 
+/* {{{ sapi_apache_get_fd
+ */
+static int sapi_apache_get_fd(int *nfd TSRMLS_DC)
+{
+       request_rec *r = SG(server_context);
+       int fd;
+
+       fd = r->connection->client->fd;
+       
+       if (fd >= 0) {
+               if (nfd) *nfd = fd;
+               return 0;
+       }
+       return -1;
+}
+/* }}} */
+
 /* {{{ sapi_module_struct apache_sapi_module
  */
 static sapi_module_struct apache_sapi_module = {
@@ -382,7 +399,11 @@
        unblock_alarms,                                 /* Unblock interruptions */
 #endif
 
-       STANDARD_SAPI_MODULE_PROPERTIES
+       NULL,                                                   /* default post reader 
+*/
+       NULL,                                                   /* treat data */
+       NULL,                                                   /* exe location */
+       0,                                                              /* ini ignore 
+*/
+       sapi_apache_get_fd
 };
 /* }}} */
 
Index: php4/sapi/thttpd/thttpd.c
diff -u php4/sapi/thttpd/thttpd.c:1.77 php4/sapi/thttpd/thttpd.c:1.78
--- php4/sapi/thttpd/thttpd.c:1.77      Fri Nov  8 08:29:32 2002
+++ php4/sapi/thttpd/thttpd.c   Tue Nov 26 00:15:55 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: thttpd.c,v 1.77 2002/11/08 13:29:32 sas Exp $ */
+/* $Id: thttpd.c,v 1.78 2002/11/26 05:15:55 sas Exp $ */
 
 #include "php.h"
 #include "SAPI.h"
@@ -382,6 +382,12 @@
        return SUCCESS;
 }
 
+static int sapi_thttpd_get_fd(int *nfd TSRMLS_DC)
+{
+       if (nfd) *nfd = TG(hc)->conn_fd;
+       return 0;
+}
+
 static sapi_module_struct thttpd_sapi_module = {
        "thttpd",
        "thttpd",
@@ -411,7 +417,11 @@
        NULL,                                                                   /* 
Block interruptions */
        NULL,                                                                   /* 
Unblock interruptions */
 
-       STANDARD_SAPI_MODULE_PROPERTIES
+       NULL,
+       NULL,
+       NULL,
+       0,
+       sapi_thttpd_get_fd
 };
 
 static void thttpd_module_main(int show_source TSRMLS_DC)



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to