From 3fbfbf1f45cd2b6c37e7419e25a1aee6b8d793c5 Mon Sep 17 00:00:00 2001 From: Sascha Schumann Date: Mon, 13 Nov 2000 13:23:56 +0000 Subject: Add thttpd-dependent interface for maintaining persistent connections on an iterative web-server. This will be used by the IRCG extension. --- sapi/thttpd/php_thttpd.h | 5 +++++ sapi/thttpd/thttpd.c | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'sapi') diff --git a/sapi/thttpd/php_thttpd.h b/sapi/thttpd/php_thttpd.h index e2e070330f..699ac5d83d 100644 --- a/sapi/thttpd/php_thttpd.h +++ b/sapi/thttpd/php_thttpd.h @@ -27,4 +27,9 @@ void thttpd_php_shutdown(void); void thttpd_php_init(void); off_t thttpd_php_request(httpd_conn *hc); +void thttpd_register_on_close(void (*)(int)); +void thttpd_closed_conn(int fd); +int thttpd_get_fd(void); +void thttpd_set_dont_close(void); + #endif diff --git a/sapi/thttpd/thttpd.c b/sapi/thttpd/thttpd.c index 37104565a9..1d1467bd44 100644 --- a/sapi/thttpd/thttpd.c +++ b/sapi/thttpd/thttpd.c @@ -27,6 +27,7 @@ typedef struct { httpd_conn *hc; int post_off; + void (*on_close)(int); } php_thttpd_globals; static php_thttpd_globals thttpd_globals; @@ -283,6 +284,26 @@ off_t thttpd_php_request(httpd_conn *hc) return 0; } +void thttpd_register_on_close(void (*arg)(int)) +{ + TG(on_close) = arg; +} + +void thttpd_closed_conn(int fd) +{ + if (TG(on_close)) TG(on_close)(fd); +} + +int thttpd_get_fd(void) +{ + return TG(hc)->conn_fd; +} + +void thttpd_set_dont_close(void) +{ + TG(hc)->file_address = (char *) 1; +} + void thttpd_php_init(void) { sapi_startup(&sapi_module); -- cgit v1.2.1