diff options
author | antirez <antirez@gmail.com> | 2019-04-30 15:59:23 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2019-04-30 15:59:23 +0200 |
commit | a653a47653e15fbae16f6553b50304ea406f3b9c (patch) | |
tree | 7e2610a70257fc3d45a16b7dbb77a8db2b504245 | |
parent | 8c3b6f36f595bdae9a7b1e1f6f39157c79ef68ec (diff) | |
download | redis-threaded-io.tar.gz |
Threaded IO: handleClientsWithPendingReadsUsingThreads top comment.threaded-io
-rw-r--r-- | src/networking.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/networking.c b/src/networking.c index 651dbdb8a..6fec97605 100644 --- a/src/networking.c +++ b/src/networking.c @@ -2734,6 +2734,12 @@ int postponeClientRead(client *c) { } } +/* When threaded I/O is also enabled for the reading + parsing side, the + * readable handler will just put normal clients into a queue of clients to + * process (instead of serving them synchronously). This function runs + * the queue using the I/O threads, and process them in order to accumulate + * the reads in the buffers, and also parse the first command available + * rendering it in the client structures. */ int handleClientsWithPendingReadsUsingThreads(void) { if (!io_threads_active || !server.io_threads_do_reads) return 0; int processed = listLength(server.clients_pending_read); |