]> git.saurik.com Git - redis.git/blobdiff - src/networking.c
Fixed replication when multiple slaves are attaching at the same time. The output...
[redis.git] / src / networking.c
index 59512f0ff76260d271b78138d07b82440a5cd5fb..df059f6ba8dae47ab5e79d0221c776eaaac24191 100644 (file)
@@ -401,6 +401,16 @@ void addReplyBulkLongLong(redisClient *c, long long ll) {
     addReplyBulkCBuffer(c,buf,len);
 }
 
+/* Copy 'src' client output buffers into 'dst' client output buffers.
+ * The function takes care of freeing the old output buffers of the
+ * destination client. */
+void copyClientOutputBuffer(redisClient *dst, redisClient *src) {
+    listRelease(dst->reply);
+    dst->reply = listDup(src->reply);
+    memcpy(dst->buf,src->buf,src->bufpos);
+    dst->bufpos = src->bufpos;
+}
+
 static void acceptCommonHandler(int fd) {
     redisClient *c;
     if ((c = createClient(fd)) == NULL) {