sewenew / redis-plus-plus

Redis client written in C++
Apache License 2.0
1.64k stars 351 forks source link

On windows AsyncSubscriber causes exception in libuv upon destruction #575

Open borisu opened 4 months ago

borisu commented 4 months ago

Not sure it bug or not but I am experiencing mentioned exception when destroying the object.

I am using redis++ via vcpkg for the https://github.com/borisu/bricks

In general, code template looks like that

auto redis = new AsyncRedis("....");
auto subscriber = new AsyncSubscriber(redis->subscriber());

/* do things */

try {
    auto f = subscriber->unsubscribe();
    f.wait();
}
catch (std::exception&) {};
delete subscriber;
delete redis

what happens is crash like that :- Assertion failed: 0, file \vcpkg\buildtrees\libuv\src\v1.46.0-608af35d5c.clean\src\win\handle.c, line 71

Environment:

Additional context Add any other context about the problem here.