Describe the bug
When calling MONITOR when already in monitor mode (MONITOR called a second time), the command gets no reply.
To reproduce
$ telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
monitor
+OK
monitor
monitor
monitor
ping
+PONG
+1689844887.413603 [0 127.0.0.1:57780] "ping"
quit
+OK
Connection closed by foreign host.
Expected behavior
The second monitor call should return +OK just like the first one.
Alternatively, return an error like -ERR Already monitoring.
Alternatively, just document this behaviour.
Additional information
Why do I care at all? When writing an asynchronous client library, it's important to not get out of sync when matching incoming replies to the corresponding commands. I discovered this while implementing RESET in hiredis async API.
Comment From: alexgershberg
I've tried it, and I agree that it should return something, rather than nothing. I liked the error message more, so I just quickly implemented it. (also I took your error message word for word)