projects
/
project
/
ubus.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
334c389
)
libubus: close file descriptor after passing it in the status msg
author
Felix Fietkau
<nbd@openwrt.org>
Thu, 27 Feb 2014 15:48:53 +0000
(16:48 +0100)
committer
Felix Fietkau
<nbd@openwrt.org>
Thu, 27 Feb 2014 15:48:55 +0000
(16:48 +0100)
Simplifies handling of non-deferred requests
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
examples/server.c
patch
|
blob
|
history
libubus-io.c
patch
|
blob
|
history
diff --git
a/examples/server.c
b/examples/server.c
index
bfad363
..
95eba5e
100644
(file)
--- a/
examples/server.c
+++ b/
examples/server.c
@@
-68,7
+68,6
@@
static void test_hello_reply(struct uloop_timeout *t)
pipe(fds);
ubus_request_set_fd(ctx, &req->req, fds[0]);
ubus_complete_deferred_request(ctx, &req->req, 0);
- close(fds[0]);
req->fd = fds[1];
req->timeout.cb = test_hello_fd_reply;
diff --git
a/libubus-io.c
b/libubus-io.c
index
bc054b8
..
030d382
100644
(file)
--- a/
libubus-io.c
+++ b/
libubus-io.c
@@
-142,6
+142,9
@@
int __hidden ubus_send_msg(struct ubus_context *ctx, uint32_t seq,
if (ret < 0)
ctx->sock.eof = true;
+ if (fd >= 0)
+ close(fd);
+
return ret;
}