@@ -8,7 +8,7 @@ use ngx::core;
8
8
use ngx:: ffi:: {
9
9
ngx_array_push, ngx_command_t, ngx_conf_t, ngx_cycle, ngx_event_t, ngx_http_core_module, ngx_http_core_run_phases,
10
10
ngx_http_handler_pt, ngx_http_module_t, ngx_http_phases_NGX_HTTP_ACCESS_PHASE, ngx_http_request_t, ngx_int_t,
11
- ngx_module_t, ngx_posted_events , ngx_queue_s , ngx_str_t, ngx_uint_t, NGX_CONF_TAKE1 , NGX_HTTP_LOC_CONF ,
11
+ ngx_module_t, ngx_post_event , ngx_posted_events , ngx_str_t, ngx_uint_t, NGX_CONF_TAKE1 , NGX_HTTP_LOC_CONF ,
12
12
NGX_HTTP_LOC_CONF_OFFSET , NGX_HTTP_MODULE ,
13
13
} ;
14
14
use ngx:: http:: { self , HTTPModule , MergeConfigError } ;
@@ -112,7 +112,7 @@ unsafe extern "C" fn check_async_work_done(event: *mut ngx_event_t) {
112
112
// this doesn't have have good performance but works as a simple thread-safe example and doesn't causes
113
113
// segfault. The best method that provides both thread-safety and performance requires
114
114
// an nginx patch.
115
- post_event ( event, addr_of_mut ! ( ngx_posted_events) ) ;
115
+ ngx_post_event ( event, addr_of_mut ! ( ngx_posted_events) ) ;
116
116
}
117
117
}
118
118
@@ -128,20 +128,6 @@ struct EventData {
128
128
unsafe impl Send for EventData { }
129
129
unsafe impl Sync for EventData { }
130
130
131
- // same as ngx_post_event
132
- // source: https://github.com/nginx/ngx-rust/pull/31/files#diff-132330bb775bed17fb9990ec2b56e6c52e6a9e56d62f2114fade95e4decdba08R80-R90
133
- unsafe fn post_event ( event : * mut ngx_event_t , queue : * mut ngx_queue_s ) {
134
- let event = & mut ( * event) ;
135
- if event. posted ( ) == 0 {
136
- event. set_posted ( 1 ) ;
137
- // translated from ngx_queue_insert_tail macro
138
- event. queue . prev = ( * queue) . prev ;
139
- ( * event. queue . prev ) . next = & event. queue as * const _ as * mut _ ;
140
- event. queue . next = queue;
141
- ( * queue) . prev = & event. queue as * const _ as * mut _ ;
142
- }
143
- }
144
-
145
131
http_request_handler ! ( async_access_handler, |request: & mut http:: Request | {
146
132
let co = unsafe { request. get_module_loc_conf:: <ModuleConfig >( & * addr_of!( ngx_http_async_module) ) } ;
147
133
let co = co. expect( "module config is none" ) ;
@@ -184,7 +170,7 @@ http_request_handler!(async_access_handler, |request: &mut http::Request| {
184
170
event. data = Arc :: into_raw( event_data. clone( ) ) as _;
185
171
event. log = ( * ngx_cycle) . log;
186
172
187
- post_event ( event, addr_of_mut!( ngx_posted_events) ) ;
173
+ ngx_post_event ( event, addr_of_mut!( ngx_posted_events) ) ;
188
174
}
189
175
190
176
ngx_log_debug_http!( request, "async module enabled: {}" , co. enable) ;
0 commit comments