X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fvconn.c;h=99d5a54d4e8f572293d3f88a70e25365d49f87fa;hb=392804e7ee2753cea831503fbdbafc2d7780862a;hp=d8807fda3e521b46d9a975138f3c408ba6724661;hpb=a0bc29a541fc7dc6e20137d5558e2094d614e6ab;p=openvswitch diff --git a/lib/vconn.c b/lib/vconn.c index d8807fda..99d5a54d 100644 --- a/lib/vconn.c +++ b/lib/vconn.c @@ -25,6 +25,7 @@ #include #include "coverage.h" #include "dynamic-string.h" +#include "fatal-signal.h" #include "flow.h" #include "ofp-print.h" #include "ofpbuf.h" @@ -273,6 +274,8 @@ vconn_open_block(const char *name, int min_version, struct vconn **vconnp) struct vconn *vconn; int error; + fatal_signal_run(); + error = vconn_open(name, min_version, &vconn); while (error == EAGAIN) { vconn_run(vconn); @@ -607,6 +610,9 @@ int vconn_send_block(struct vconn *vconn, struct ofpbuf *msg) { int retval; + + fatal_signal_run(); + while ((retval = vconn_send(vconn, msg)) == EAGAIN) { vconn_run(vconn); vconn_run_wait(vconn); @@ -621,6 +627,9 @@ int vconn_recv_block(struct vconn *vconn, struct ofpbuf **msgp) { int retval; + + fatal_signal_run(); + while ((retval = vconn_recv(vconn, msgp)) == EAGAIN) { vconn_run(vconn); vconn_run_wait(vconn);