projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ovsdbmonitor: Put temporary file in ovsdb/ovsdbmonitor directory.
[openvswitch]
/
lib
/
jsonrpc.c
diff --git
a/lib/jsonrpc.c
b/lib/jsonrpc.c
index 72590a2f41da2d73c1b1c35da361e89a54cc8590..bb4f6baf35449b1cf6606218b063704efb9d73f2 100644
(file)
--- a/
lib/jsonrpc.c
+++ b/
lib/jsonrpc.c
@@
-23,6
+23,7
@@
#include "byteq.h"
#include "dynamic-string.h"
#include "byteq.h"
#include "dynamic-string.h"
+#include "fatal-signal.h"
#include "json.h"
#include "list.h"
#include "ofpbuf.h"
#include "json.h"
#include "list.h"
#include "ofpbuf.h"
@@
-266,6
+267,12
@@
jsonrpc_recv(struct jsonrpc *rpc, struct jsonrpc_msg **msgp)
if (json_parser_is_done(rpc->parser)) {
jsonrpc_received(rpc);
if (rpc->status) {
if (json_parser_is_done(rpc->parser)) {
jsonrpc_received(rpc);
if (rpc->status) {
+ const struct byteq *q = &rpc->input;
+ if (q->head <= BYTEQ_SIZE) {
+ stream_report_content(q->buffer, q->head,
+ STREAM_JSONRPC,
+ THIS_MODULE, rpc->name);
+ }
return rpc->status;
}
}
return rpc->status;
}
}
@@
-293,6
+300,8
@@
jsonrpc_send_block(struct jsonrpc *rpc, struct jsonrpc_msg *msg)
{
int error;
{
int error;
+ fatal_signal_run();
+
error = jsonrpc_send(rpc, msg);
if (error) {
return error;
error = jsonrpc_send(rpc, msg);
if (error) {
return error;
@@
-314,6
+323,7
@@
jsonrpc_recv_block(struct jsonrpc *rpc, struct jsonrpc_msg **msgp)
for (;;) {
int error = jsonrpc_recv(rpc, msgp);
if (error != EAGAIN) {
for (;;) {
int error = jsonrpc_recv(rpc, msgp);
if (error != EAGAIN) {
+ fatal_signal_run();
return error;
}
return error;
}