diff options
| author | sr | 2012-08-27 21:02:49 +0200 |
|---|---|---|
| committer | sr | 2012-08-27 21:02:49 +0200 |
| commit | de01183aa40dbbd274e18f681d8a255a886f493e (patch) | |
| tree | f614e764704aec26df15df68c633178064c60a41 /src/server/ipc.c | |
| parent | [KERNEL] Make rtt threshold relative (diff) | |
| download | dnbd3-de01183aa40dbbd274e18f681d8a255a886f493e.tar.gz dnbd3-de01183aa40dbbd274e18f681d8a255a886f493e.tar.xz dnbd3-de01183aa40dbbd274e18f681d8a255a886f493e.zip | |
[KERNEL] Refactor and extend sysfs (add data the server will need in proxy mode)
[SERVER] Use MSG_MORE instead of cork/uncork to save two syscalls
[KERNEL] Fail-Counter for alt servers, ignore servers that fail too often
[KERNEL] Add new alt servers to list, instead of replacing the old list
[*] Add CMD_LATEST_RID to tell client about new revisions
Diffstat (limited to 'src/server/ipc.c')
| -rw-r--r-- | src/server/ipc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/server/ipc.c b/src/server/ipc.c index 5da811c..ece6f07 100644 --- a/src/server/ipc.c +++ b/src/server/ipc.c @@ -403,9 +403,10 @@ void dnbd3_ipc_send(int cmd) if (cmd == IPC_INFO && header.size > 0) { - char* buf = malloc(header.size); + char* buf = malloc(header.size+1); size = recv(client_sock, buf, header.size, MSG_WAITALL); xmlDocPtr doc = xmlReadMemory(buf, size, "noname.xml", NULL, 0); + buf[header.size] = 0; if (doc) { @@ -479,9 +480,10 @@ void dnbd3_ipc_send(int cmd) // xmlDocDump(stdout, doc); - } else + } + else { - printf("ERROR: Failed to parse reply\n"); + printf("ERROR: Failed to parse reply\n-----------\n%s\n-------------\n", buf); } } |
