mirror of
https://github.com/zeek/zeek.git
synced 2025-10-05 08:08:19 +00:00
Remove file-local expire_running variable
This commit is contained in:
parent
ebefb21c53
commit
605973497f
2 changed files with 12 additions and 10 deletions
|
@ -17,8 +17,6 @@
|
|||
// Anonymous callback handler methods for the hiredis async API.
|
||||
namespace {
|
||||
|
||||
bool during_expire = false;
|
||||
|
||||
class Tracer {
|
||||
public:
|
||||
Tracer(const std::string& where) : where(where) {} // DBG_LOG(zeek::DBG_STORAGE, "%s", where.c_str()); }
|
||||
|
@ -91,7 +89,7 @@ void redisAddRead(void* privdata) {
|
|||
auto rpe = static_cast<redisPollEvents*>(privdata);
|
||||
auto backend = static_cast<zeek::storage::backend::redis::Redis*>(rpe->context->data);
|
||||
|
||||
if ( rpe->reading == 0 && ! during_expire )
|
||||
if ( rpe->reading == 0 && ! backend->ExpireRunning() )
|
||||
zeek::iosource_mgr->RegisterFd(rpe->fd, backend, zeek::iosource::IOSource::READ);
|
||||
rpe->reading = 1;
|
||||
}
|
||||
|
@ -101,7 +99,7 @@ void redisDelRead(void* privdata) {
|
|||
auto rpe = static_cast<redisPollEvents*>(privdata);
|
||||
auto backend = static_cast<zeek::storage::backend::redis::Redis*>(rpe->context->data);
|
||||
|
||||
if ( rpe->reading == 1 && ! during_expire )
|
||||
if ( rpe->reading == 1 && ! backend->ExpireRunning() )
|
||||
zeek::iosource_mgr->UnregisterFd(rpe->fd, backend, zeek::iosource::IOSource::READ);
|
||||
rpe->reading = 0;
|
||||
}
|
||||
|
@ -111,7 +109,7 @@ void redisAddWrite(void* privdata) {
|
|||
auto rpe = static_cast<redisPollEvents*>(privdata);
|
||||
auto backend = static_cast<zeek::storage::backend::redis::Redis*>(rpe->context->data);
|
||||
|
||||
if ( rpe->writing == 0 && ! during_expire )
|
||||
if ( rpe->writing == 0 && ! backend->ExpireRunning() )
|
||||
zeek::iosource_mgr->RegisterFd(rpe->fd, backend, zeek::iosource::IOSource::WRITE);
|
||||
rpe->writing = 1;
|
||||
}
|
||||
|
@ -121,7 +119,7 @@ void redisDelWrite(void* privdata) {
|
|||
auto t = Tracer("delwrite");
|
||||
auto backend = static_cast<zeek::storage::backend::redis::Redis*>(rpe->context->data);
|
||||
|
||||
if ( rpe->writing == 1 && ! during_expire )
|
||||
if ( rpe->writing == 1 && ! backend->ExpireRunning() )
|
||||
zeek::iosource_mgr->UnregisterFd(rpe->fd, backend, zeek::iosource::IOSource::WRITE);
|
||||
rpe->writing = 0;
|
||||
}
|
||||
|
@ -358,7 +356,7 @@ void Redis::DoExpire(double current_network_time) {
|
|||
|
||||
auto locked_scope = conditionally_lock(zeek::run_state::reading_traces, expire_mutex);
|
||||
|
||||
during_expire = true;
|
||||
expire_running = true;
|
||||
|
||||
int status = redisAsyncCommand(async_ctx, redisGeneric, NULL, "ZRANGEBYSCORE %s_expire -inf %f", key_prefix.data(),
|
||||
current_network_time);
|
||||
|
@ -366,7 +364,7 @@ void Redis::DoExpire(double current_network_time) {
|
|||
if ( status == REDIS_ERR ) {
|
||||
// TODO: do something with the error?
|
||||
printf("ZRANGEBYSCORE command failed: %s\n", async_ctx->errstr);
|
||||
during_expire = false;
|
||||
expire_running = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -380,7 +378,7 @@ void Redis::DoExpire(double current_network_time) {
|
|||
|
||||
if ( reply->elements == 0 ) {
|
||||
freeReplyObject(reply);
|
||||
during_expire = false;
|
||||
expire_running = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -47,6 +47,8 @@ public:
|
|||
*/
|
||||
bool IsOpen() override { return connected; }
|
||||
|
||||
bool ExpireRunning() const { return expire_running.load(); }
|
||||
|
||||
private:
|
||||
OperationResult DoOpen(RecordValPtr options, OpenResultCallback* cb = nullptr) override;
|
||||
OperationResult DoClose(OperationResultCallback* cb = nullptr) override;
|
||||
|
@ -71,8 +73,10 @@ private:
|
|||
|
||||
std::string server_addr;
|
||||
std::string key_prefix;
|
||||
|
||||
std::atomic<bool> connected = false;
|
||||
int active_ops = 0;
|
||||
std::atomic<bool> expire_running = false;
|
||||
std::atomic<int> active_ops = 0;
|
||||
};
|
||||
|
||||
} // namespace zeek::storage::backend::redis
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue