diff options
author | Felix Fietkau <nbd@nbd.name> | 2017-02-03 18:39:11 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2017-02-03 18:39:15 +0100 |
commit | 91acde66b963e238aba35fb4f2030a147df84cd4 (patch) | |
tree | 6ca0a469c0a0d3d861b9b8ea3c398e929b0f10f6 /libubus.h | |
parent | 763b9b2cf293fb60b5c2ddf34e2500f95200b6b5 (diff) | |
download | ubus-91acde66b963e238aba35fb4f2030a147df84cd4.tar.gz |
libubus: do not modify uloop_cancelled
uloop_cancelled was used for two purposes within ubus_complete_request:
- interrupting recursive requests on SIGINT/SIGTERM
- breaking out of the poll loop in a recursive request that completed
Saving/restorung uloop_cancelled was buggy, leading to SIGTERM not being
processed properly. Simplify the logic by using a separate field for
internal use
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'libubus.h')
-rw-r--r-- | libubus.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -155,6 +155,7 @@ struct ubus_context { uint32_t local_id; uint16_t request_seq; + bool cancel_poll; int stack_depth; void (*connection_lost)(struct ubus_context *ctx); |