dsignal.h(3)

πŸ“¦
version 0.14 Β· 4 versions
, in ubuntu noble, ubuntu questing

πŸ’– dsignal.h β€” the Library Functions Manual glow-up πŸ’–

okay bestie, sit down, hydrate, and let me tell you about dsignal.h, a header from libdaemon that lives in the Library Functions Manual section (that's section 3, iykyk 🫢).


✨ NAME ✨

dsignal.h β€” contains the API for serializing signals to a pipe for usage with select() or poll().

like. it takes your messy little signals and pipes them somewhere you can actually watch. iconic behaviour fr fr πŸ’…


🌸 SYNOPSIS 🌸

πŸŽ€ Functions

int daemon_signal_init (int s,...)

Installs signal handlers for the specified signals.

int daemon_signal_install (int s)

Install a signal handler for the specified signal.

void daemon_signal_done (void)

Free resources of signal handling, should be called before daemon exit.

int daemon_signal_next (void)

Return the next signal received.

int daemon_signal_fd (void)

Return the file descriptor the daemon should select() on for reading.


πŸ¦‹ Detailed Description πŸ¦‹

Contains the API for serializing signals to a pipe for usage with select() or poll().

so here's the whole vibe, bestie: you should register all signals you wish to handle with select() in your main loop with daemon_signal_init() or daemon_signal_install(). after that you should sleep on the file descriptor returned by daemon_signal_fd() and get the next signal received with daemon_signal_next(). and you should call daemon_signal_done() before exiting. not optional. do not skip it. it's giving "cleanup is self care" πŸ§–βœ¨

Definition in file dsignal.h.


πŸ’œ Function Documentation πŸ’œ

🌈 void daemon_signal_done (void)

Free resources of signal handling, should be called before daemon exit.

Examples

  • testd.c.

⭐ int daemon_signal_fd (void)

Return the file descriptor the daemon should select() on for reading. Whenever the descriptor is ready you should call daemon_signal_next() to get the next signal queued.

Returns

The file descriptor or negative on failure

Examples

  • testd.c.

πŸ”₯ int daemon_signal_init (int s, ...)

Installs signal handlers for the specified signals.

Parameters

  • s,... β€” The signals to install handlers for. The list should be terminated by 0
⚠️ hello?? do NOT forget that 0 at the end. that's the little periodt of the argument list, no cap. 🫢

Returns

zero on success, nonzero on failure

Examples

  • testd.c.

πŸ“ int daemon_signal_install (int s)

Install a signal handler for the specified signal.

Parameters

  • s β€” The signalto install handler for

Returns

zero onsuccess,nonzero on failure


🧚 int daemon_signal_next (void)

Return the next signal received. This function will not block. Instead it returns 0 if no signal is queued.

Returns

The next queued signal if one is queued, zero if none is queued, negative on failure.

Examples

  • testd.c.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for libdaemon from the source code.


okay that's the whole page, you ate it, you understood it, you're basically a signal-handling main character now πŸ’…

this little love letter came to you courtesy of libdaemon, Version 0.14, and it's the dsignal.h(3) page β€” so like, go call daemon_signal_done() before you exit, bestie, mwah πŸ’–πŸŒΈ
πŸ“¦ where this page comes from