C utility functions for OpenWRT libraries
Find a file
Jo-Philipp Wich 13d9b04fb0 uloop: add support for user defined signal handlers
Reuse and extend the existing signal waker pipe mechanism to add user
defined signal handling functionality to uloop.

This commit introduces two new api functions `uloop_signal_add()` and
`uloop_signal_remove()` along with a new structure type `uloop_signal`
to allow adding and removing arbitrary signal handlers.

Registered signal handlers are maintained in a linked list and matched
by their signo member value which allows registering multiple handlers
for the same signal numbers.

Upon registering a new signal handler, the existing handler is saved
in the `uloop_signal` structure. When removing the user defined signal
handler, the original behavior is restored.

The Lua binding has been updated as well to support the new signal
handler mechanism.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-11-02 17:56:45 +01:00
examples uloop: add support for user defined signal handlers 2023-11-02 17:56:45 +01:00
lua uloop: add support for user defined signal handlers 2023-11-02 17:56:45 +01:00
sh jshn.sh: Add pretty-printing to json_dump 2023-04-15 15:04:19 +02:00
tests tests: add blob-buffer overflow test 2021-04-29 15:34:21 +02:00
.gitignore examples: add shunit2 tests for json_script 2016-02-20 13:36:08 +01:00
.gitlab-ci.yml add cram based unit tests 2019-11-24 13:26:58 +01:00
assert.h add assert.h component 2019-11-24 13:26:58 +01:00
avl-cmp.c avl: add blob comparator function 2016-07-29 10:58:55 +02:00
avl-cmp.h avl: add blob comparator function 2016-07-29 10:58:55 +02:00
avl.c avl: guard against theoretical null pointer dereference 2019-11-24 13:26:58 +01:00
avl.h switch from typeof to the more portable __typeof__ 2018-04-07 15:21:33 +02:00
base64.c base64: fix possible null pointer dereference 2019-11-24 13:26:58 +01:00
blob.c blob: clear buf->head when freeing a buffer 2022-02-10 21:02:20 +01:00
blob.h Ensure blob_attr length check does not perform out of bounds reads 2019-12-25 10:31:58 +01:00
blobmsg.c blobmsg: implicitly reserve space for 0-terminator in string buf alloc 2022-05-12 13:26:29 +02:00
blobmsg.h blobmsg: add blobmsg_parse_array_attr 2023-01-03 10:43:49 +01:00
blobmsg_json.c blobmsg: Don't do at run-time what can be done at compile-time 2023-04-16 14:53:11 +02:00
blobmsg_json.h blobmsg_json: add new functions blobmsg_format_json_value* 2016-07-02 10:10:08 +02:00
CMakeLists.txt cmake: add a possibility to set library version 2020-01-20 16:54:10 +01:00
jshn.c jshn: prefer snprintf usage 2020-01-20 16:54:10 +01:00
json_script.c blobmsg: implicitly reserve space for 0-terminator in string buf alloc 2022-05-12 13:26:29 +02:00
json_script.h json_script: add support for aborting script processing 2015-11-06 22:58:15 +01:00
kvlist.c Fix various memory management issues 2016-06-26 12:53:51 +02:00
kvlist.h kvlist: add static initializer macros 2016-10-24 12:34:09 +02:00
list.h list.h: add container_of_safe macro 2022-04-29 12:57:52 +02:00
md5.c md5: add "const" qualifier to the "file" argument 2017-03-20 12:44:46 +01:00
md5.h md5: add "const" qualifier to the "file" argument 2017-03-20 12:44:46 +01:00
runqueue.c libubox: runqueue: fix use-after-free bug 2020-05-21 15:58:46 +02:00
runqueue.h libubox: runqueue: fix use-after-free bug 2020-05-21 15:58:46 +02:00
safe_list.c runqueue: add a function that allows adding jobs to the front of the runqueue 2013-11-18 12:25:21 +01:00
safe_list.h runqueue: add a function that allows adding jobs to the front of the runqueue 2013-11-18 12:25:21 +01:00
ulog.c blobmsg/ulog: fix format string compiler warnings 2019-12-07 23:47:03 +01:00
ulog.h libubox: add format string checking to ulog() 2019-06-16 16:29:47 +02:00
uloop-epoll.c uloop: add support for interval timers 2023-11-02 17:49:55 +01:00
uloop-kqueue.c uloop: add support for interval timers 2023-11-02 17:49:55 +01:00
uloop.c uloop: add support for user defined signal handlers 2023-11-02 17:56:45 +01:00
uloop.h uloop: add support for user defined signal handlers 2023-11-02 17:56:45 +01:00
usock.c usock: fix poll return code check 2023-03-08 09:38:55 +01:00
usock.h usock: implement usock_inet_timeout() with RFC6555 support 2016-01-28 12:07:25 +01:00
ustream-fd.c ustream-fd: handle ENOTCONN for read/write on not-yet-connected sockets 2016-01-15 21:35:48 +01:00
ustream.c Fix various memory management issues 2016-06-26 12:53:51 +02:00
ustream.h ustream: Add format string checks to ustream_(v)printf() 2019-06-16 16:30:01 +02:00
utils.c utils: simplify mkdir_p boolean conditions 2020-12-13 12:05:45 +00:00
utils.h utils.h: add fallthrough macro 2021-05-16 17:32:00 +02:00
vlist.c vlist: constify key argument to vlist_add 2013-10-05 21:40:04 +02:00
vlist.h vlist: define vlist_for_each_element_safe 2021-11-20 17:44:11 +00:00