On Mon, 21 May 2012 20:34:13 +0300 Lauri Kasanen <[email protected]> wrote:
> This makes every plugin load faster. Each plugin is also 3-4kb smaller. Had a small mistake. v2. - Lauri
>From 4415da7d25fae7dd1499e9989a78b6b6ab94c42e Mon Sep 17 00:00:00 2001 From: Lauri Kasanen <[email protected]> Date: Mon, 21 May 2012 19:29:36 +0300 Subject: [PATCH] includes: Guard global variables with hidden visibility, v2 This makes every plugin load faster. Each plugin is also 3-4kb smaller. v2: Fix one goof Signed-off-by: Lauri Kasanen <[email protected]> --- src/include/mk_config.h | 4 ++++ src/include/mk_header.h | 4 ++++ src/include/mk_http.h | 4 ++++ src/include/mk_iov.h | 4 ++++ src/include/mk_plugin.h | 4 ++++ src/include/mk_request.h | 4 ++++ src/include/mk_scheduler.h | 4 ++++ src/include/monkey.h | 4 ++++ 8 files changed, 32 insertions(+), 0 deletions(-) diff --git a/src/include/mk_config.h b/src/include/mk_config.h index 78f9324..8028c90 100644 --- a/src/include/mk_config.h +++ b/src/include/mk_config.h @@ -44,6 +44,8 @@ #define MK_CONFIG_VAL_BOOL 2 #define MK_CONFIG_VAL_LIST 3 +#pragma GCC visibility push(hidden) + /* Indented configuration */ struct mk_config { @@ -209,4 +211,6 @@ int mk_config_host_find(mk_pointer host, struct host **vhost, struct host_alias void mk_config_host_free_all(); #endif +#pragma GCC visibility pop + #endif diff --git a/src/include/mk_header.h b/src/include/mk_header.h index c67a91a..38d6963 100644 --- a/src/include/mk_header.h +++ b/src/include/mk_header.h @@ -91,6 +91,8 @@ struct header_status_response { #define MK_HEADER_SHORT_LOCATION "Location: " #define MK_HEADER_SHORT_CT "Content-Type: " +#pragma GCC visibility push(hidden) + mk_pointer mk_header_short_date; mk_pointer mk_header_short_location; mk_pointer mk_header_short_ct; @@ -123,4 +125,6 @@ void mk_header_response_reset(struct response_headers *header); void mk_header_set_http_status(struct session_request *sr, int status); void mk_header_set_content_length(struct session_request *sr, long len); +#pragma GCC visibility pop + #endif diff --git a/src/include/mk_http.h b/src/include/mk_http.h index c5062a9..a777cec 100644 --- a/src/include/mk_http.h +++ b/src/include/mk_http.h @@ -39,6 +39,8 @@ #define HTTP_METHOD_PUT_STR "PUT" #define HTTP_METHOD_DELETE_STR "DELETE" +#pragma GCC visibility push(hidden) + mk_pointer mk_http_method_get_p; mk_pointer mk_http_method_post_p; mk_pointer mk_http_method_head_p; @@ -81,4 +83,6 @@ int mk_http_pending_request(struct client_session *cs); int mk_http_send_file(struct client_session *cs, struct session_request *sr); int mk_http_request_end(int socket); +#pragma GCC visibility pop + #endif diff --git a/src/include/mk_iov.h b/src/include/mk_iov.h index 861c7a6..ddb8404 100644 --- a/src/include/mk_iov.h +++ b/src/include/mk_iov.h @@ -40,6 +40,8 @@ #include "mk_memory.h" +#pragma GCC visibility push(hidden) + mk_pointer mk_iov_crlf; mk_pointer mk_iov_crlfcrlf; mk_pointer mk_iov_lf; @@ -82,4 +84,6 @@ void mk_iov_separators_init(void); void mk_iov_free_marked(struct mk_iov *mk_io); void mk_iov_print(struct mk_iov *mk_io); +#pragma GCC visibility pop + #endif diff --git a/src/include/mk_plugin.h b/src/include/mk_plugin.h index 58e187e..a520ac1 100644 --- a/src/include/mk_plugin.h +++ b/src/include/mk_plugin.h @@ -86,6 +86,8 @@ /* The plugin request to the caller skip event hooks */ #define MK_PLUGIN_RET_EVENT_CONTINUE -600 +#pragma GCC visibility push(hidden) + /* Contexts: process/thread */ struct plugin_core { @@ -373,4 +375,6 @@ int mk_plugin_header_get(struct session_request *sr, mk_pointer query, mk_pointer *result); +#pragma GCC visibility pop + #endif diff --git a/src/include/mk_request.h b/src/include/mk_request.h index f721eda..6a1f787 100644 --- a/src/include/mk_request.h +++ b/src/include/mk_request.h @@ -36,6 +36,8 @@ #define MK_CRLF "\r\n" #define MK_ENDBLOCK "\r\n\r\n" +#pragma GCC visibility push(hidden) + mk_pointer mk_crlf; mk_pointer mk_endblock; @@ -290,4 +292,6 @@ int mk_handler_read(int socket, struct client_session *cs); int mk_handler_write(int socket, struct client_session *cs); void mk_request_ka_next(struct client_session *cs); + +#pragma GCC visibility pop #endif diff --git a/src/include/mk_scheduler.h b/src/include/mk_scheduler.h index a29bfae..2bcea16 100644 --- a/src/include/mk_scheduler.h +++ b/src/include/mk_scheduler.h @@ -33,6 +33,8 @@ #define MK_SCHEDULER_CONN_PENDING 0 #define MK_SCHEDULER_CONN_PROCESS 1 +#pragma GCC visibility push(hidden) + struct sched_connection { int status; @@ -104,4 +106,6 @@ struct sched_connection *mk_sched_get_connection(struct sched_list_node int mk_sched_update_conn_status(struct sched_list_node *sched, int remote_fd, int status); +#pragma GCC visibility pop + #endif diff --git a/src/include/monkey.h b/src/include/monkey.h index 25f56bf..0379f84 100644 --- a/src/include/monkey.h +++ b/src/include/monkey.h @@ -31,6 +31,8 @@ #define SH_NOCGI 0 #define SH_CGI 1 +#pragma GCC visibility push(hidden) + /* Monkey Protocol */ mk_pointer mk_monkey_protocol; @@ -38,4 +40,6 @@ mk_pointer mk_monkey_protocol; gid_t EGID; gid_t EUID; +#pragma GCC visibility pop + #endif -- 1.7.2.1
_______________________________________________ Monkey mailing list [email protected] http://lists.monkey-project.com/listinfo/monkey
