4 This closes all connections (forces flush of input as well).
6 Maybe add a host specific, or key specific version?
8 The reason we send "quit" is that in case we have buffered IO, this
9 will force data to be completed.
12 void memcached_quit_server(memcached_st
*ptr
, unsigned int server_key
)
14 if (ptr
->hosts
== NULL
||
15 ptr
->number_of_hosts
== 0 ||
16 server_key
> ptr
->number_of_hosts
)
19 if (ptr
->hosts
[server_key
].fd
!= -1)
21 if (ptr
->flags
& MEM_NO_BLOCK
&& ptr
->hosts
[server_key
].stack_responses
)
22 memcached_io_flush(ptr
, server_key
);
24 memcached_io_write(ptr
, server_key
, "quit\r\n", 6, 1);
26 close(ptr
->hosts
[server_key
].fd
);
27 ptr
->hosts
[server_key
].fd
= -1;
28 ptr
->hosts
[server_key
].stack_responses
= 0;
29 ptr
->hosts
[server_key
].cursor_active
= 0;
35 void memcached_quit(memcached_st
*ptr
)
39 if (ptr
->hosts
&& ptr
->number_of_hosts
)
41 for (x
= 0; x
< ptr
->number_of_hosts
; x
++)
42 memcached_quit_server(ptr
, x
);