You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-10 11:43:01 +03:00
The test demonstrates failure for the following scenario. A single-subscription client calls unsubscribe immediately followed by a subscribe. It will fail when it tries to receive the next pmessage/message because the client will be in false pub_sub_mode. Here is why it is false: First, the 2nd subscribe sets pub_sub_mode to true during send_command. Next, the unsubscribe's return_reply sets pub_sub_mode to false. The 2nd subscribe's return_reply does not re-set pub_sub_mode back to true. So the result is a client with false pub_sub_mode that fails upon receipt of the next message or pmessage.
15 lines
351 B
JavaScript
15 lines
351 B
JavaScript
var client = require('../index').createClient()
|
|
, client2 = require('../index').createClient()
|
|
, assert = require('assert');
|
|
|
|
client.once('subscribe', function (channel, count) {
|
|
client.unsubscribe('x');
|
|
client.subscribe('x', function () {
|
|
client.quit();
|
|
client2.quit();
|
|
});
|
|
client2.publish('x', 'hi');
|
|
});
|
|
|
|
client.subscribe('x');
|