目前我将它们存储在全球范围内。这是正确的方法吗?我希望变量与当前请求保持一致,并在请求完成后消失。
例如:
int data1;
int data2;
apr_status_t my_input_filter (ap_filter_t *f, apr_bucket_brigade *bb,
ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes) {
if (somecond1) data1 = xyz;
if (somecond2 & data1 == xya) data2 = abc;
if (somecond3 && data2 == abc) dosomething();
}
请注意,3 cond可能不会在过滤时一次性发生,它们可能会在不同时刻出现,但具有相同的请求。
答案 0 :(得分:0)
如果你的模块使用事件或多线程包运行,那么存储在全局变量中是个坏主意。
Apache在请求结构中提供了一个备注字典。用它来存储您的私人数据。