0

目前我将它们存储在全球。那是正确的方法吗?我希望变量与当前请求保持一致,并在请求完成后消失。

例如:

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个条件,它们可能出现在不同的时刻,但具有相同的请求。

4

1 回答 1

0

如果您的模块与事件或多线程包一起运行,则存储在全局变量中是一个坏主意。

Apache 在请求结构中提供了一个注释字典。使用它来存储您的私人数据。

于 2012-12-08T07:19:58.397 回答