antirez e3f864b5fd Make disconnectSlaves() synchronous in the base case.
Otherwise we run into that:

Backtrace:
src/redis-server 127.0.0.1:21322(logStackTrace+0x45)[0x479035]
src/redis-server 127.0.0.1:21322(sigsegvHandler+0xb9)[0x4797f9]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fd373c5e390]
src/redis-server 127.0.0.1:21322(_serverAssert+0x6a)[0x47660a]
src/redis-server 127.0.0.1:21322(freeReplicationBacklog+0x42)[0x451282]
src/redis-server 127.0.0.1:21322[0x4552d4]
src/redis-server 127.0.0.1:21322[0x4c5593]
src/redis-server 127.0.0.1:21322(aeProcessEvents+0x2e6)[0x42e786]
src/redis-server 127.0.0.1:21322(aeMain+0x1d)[0x42eb0d]
src/redis-server 127.0.0.1:21322(main+0x4c5)[0x42b145]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fd3738a3830]
src/redis-server 127.0.0.1:21322(_start+0x29)[0x42b409]

Since we disconnect all the replicas and free the replication backlog in
certain replication paths, and the code that will free the replication
backlog expects that no replica is connected.

However we still need to free the replicas asynchronously in certain
cases, as documented in the top comment of disconnectSlaves().
2020-05-25 12:08:01 +02:00
..
2020-05-08 10:37:35 +02:00
2020-05-08 10:37:35 +02:00
2019-11-20 20:39:04 -05:00
2019-07-17 16:40:24 +03:00
2020-05-08 10:37:35 +02:00
2020-05-25 12:08:01 +02:00
2020-05-08 10:37:35 +02:00
2020-04-28 11:20:15 +02:00
2020-04-28 11:20:15 +02:00
2020-04-28 11:20:15 +02:00
2018-07-03 18:19:46 +02:00
2019-02-24 21:38:15 +01:00
2020-04-30 13:43:58 +02:00
2020-03-25 15:54:34 +01:00
2019-10-24 14:24:55 +03:00
2020-05-08 10:37:36 +02:00
2020-05-15 22:23:24 +02:00
2019-11-19 17:23:47 +08:00
2020-04-07 16:52:04 +02:00
2020-05-14 11:29:43 +02:00
2020-05-08 10:37:35 +02:00
2020-04-15 16:03:16 +02:00
2018-07-03 18:19:46 +02:00
2019-10-02 11:30:20 +02:00
2020-04-07 16:53:13 +02:00
2020-04-16 16:09:06 +02:00
2020-03-05 12:51:15 +01:00
2020-05-15 22:23:24 +02:00
2018-11-11 18:49:55 +00:00
2020-05-22 12:37:59 +02:00
2020-05-16 18:11:58 +02:00
2020-05-08 10:37:35 +02:00