diff options
Diffstat (limited to 'doc/libstddjb')
-rw-r--r-- | doc/libstddjb/alarm.html | 8 | ||||
-rw-r--r-- | doc/libstddjb/alloc.html | 2 | ||||
-rw-r--r-- | doc/libstddjb/allreadwrite.html | 12 | ||||
-rw-r--r-- | doc/libstddjb/djbtime.html | 2 | ||||
-rw-r--r-- | doc/libstddjb/djbunix.html | 32 | ||||
-rw-r--r-- | doc/libstddjb/gccattributes.html | 2 | ||||
-rw-r--r-- | doc/libstddjb/index.html | 10 | ||||
-rw-r--r-- | doc/libstddjb/iopause.html | 14 | ||||
-rw-r--r-- | doc/libstddjb/lolstdio.html | 14 | ||||
-rw-r--r-- | doc/libstddjb/safewrappers.html | 8 | ||||
-rw-r--r-- | doc/libstddjb/selfpipe.html | 6 | ||||
-rw-r--r-- | doc/libstddjb/tai.html | 26 |
12 files changed, 68 insertions, 68 deletions
diff --git a/doc/libstddjb/alarm.html b/doc/libstddjb/alarm.html index c5d0218..a6cc748 100644 --- a/doc/libstddjb/alarm.html +++ b/doc/libstddjb/alarm.html @@ -29,18 +29,18 @@ and implemented in the <tt>libskarnet.a</tt> or <tt>libskarnet.so</tt> library. <p> <tt>alarm</tt> is a set of primitives to provide the same functionality as -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/alarm.html">alarm()</a>, +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/alarm.html">alarm()</a>, but with sub-second precision. </p> <p> Depending on the functionality the underlying system provides, the precision can be 1 nanosecond (implementation via -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/timer_getoverrun.html">timer_settime()</a>, +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/timer_getoverrun.html">timer_settime()</a>, 1 microsecond (implementation via -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/setitimer.html">setitimer()</a>, +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/setitimer.html">setitimer()</a>, or 1 second (fallback implementation with -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/alarm.html">alarm()</a> +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/alarm.html">alarm()</a> when nothing better can be found). </p> diff --git a/doc/libstddjb/alloc.html b/doc/libstddjb/alloc.html index ca6ecf1..646a206 100644 --- a/doc/libstddjb/alloc.html +++ b/doc/libstddjb/alloc.html @@ -30,7 +30,7 @@ and implemented in the <tt>libskarnet.a</tt> or <tt>libskarnet.so</tt> library. <p> <tt>alloc</tt> is the skalibs heap memory manager. It's actually a wrapper for the -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/malloc.html">malloc()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/malloc.html">malloc()</a> series of functions; it unifies a few system-dependent <tt>malloc</tt> behaviours. It's also the API to implement and preload if for some reason you need to plug in your own allocator: replacing <tt>alloc()</tt> diff --git a/doc/libstddjb/allreadwrite.html b/doc/libstddjb/allreadwrite.html index 0dd5ea0..2619153 100644 --- a/doc/libstddjb/allreadwrite.html +++ b/doc/libstddjb/allreadwrite.html @@ -46,9 +46,9 @@ use higher-level APIs such as <a href="buffer.html">buffer</a> and <p> <code> typedef ssize_t iofunc_t (int fd, char *buf, size_t len) </code> <br /> This is the simplified type of IO functions such as -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/read.html">read()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/read.html">read()</a> and -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/write.html">write()</a>. +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/write.html">write()</a>. </p> <p> @@ -97,28 +97,28 @@ set errno to EWOULDBLOCK or EAGAIN. <p> <code> ssize_t fd_read (int fd, char *s, size_t len) </code> <br /> <a href="safewrappers.html">Safe wrapper</a> around the -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/read.html">read()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/read.html">read()</a> function. </p> <p> <code> ssize_t fd_write (int fd, char const *s, size_t len) </code> <br /> <a href="safewrappers.html">Safe wrapper</a> around the -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/write.html">write()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/write.html">write()</a> function. </p> <p> <code> ssize_t fd_recv (int fd, char *s, size_t len, unsigned int flags) </code> <br /> <a href="safewrappers.html">Safe wrapper</a> around the -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/recv.html">recv()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/recv.html">recv()</a> function. </p> <p> <code> ssize_t fd_send (int fd, char const *s, size_t len, unsigned int flags) </code> <br /> <a href="safewrappers.html">Safe wrapper</a> around the -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/send.html">send()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/send.html">send()</a> function. </p> diff --git a/doc/libstddjb/djbtime.html b/doc/libstddjb/djbtime.html index 724cd66..8d47b5c 100644 --- a/doc/libstddjb/djbtime.html +++ b/doc/libstddjb/djbtime.html @@ -30,7 +30,7 @@ and implemented in the <tt>libskarnet.a</tt> or <tt>libskarnet.so</tt> library. <p> <tt>djbtime</tt> is a set of functions to convert <a href="tai.html">tai_t and tain_t</a> structures, and -<a href="http://cr.yp.to/libtai/tai64.html">TAI time</a>, from and to +<a href="https://cr.yp.to/libtai/tai64.html">TAI time</a>, from and to other time formats and user-friendly representations. </p> diff --git a/doc/libstddjb/djbunix.html b/doc/libstddjb/djbunix.html index 6223bf4..2e99dd0 100644 --- a/doc/libstddjb/djbunix.html +++ b/doc/libstddjb/djbunix.html @@ -71,21 +71,21 @@ Returns 0 if it succeeds, or -1 (and sets errno) if it fails. <p> <code> int pipenb (int *p) </code> <br /> Like -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/pipe.html">pipe()</a>, +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/pipe.html">pipe()</a>, but both ends of the created pipe are in non-blocking mode. </p> <p> <code> int pipecoe (int *p) </code> <br /> Like -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/pipe.html">pipe()</a>, +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/pipe.html">pipe()</a>, but both ends of the created pipe are close-on-exec. </p> <p> <code> int pipenbcoe (int *p) </code> <br /> Like -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/pipe.html">pipe()</a>, +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/pipe.html">pipe()</a>, but both ends of the created pipe are in non-blocking mode <em>and</em> close-on-exec. </p> @@ -123,32 +123,32 @@ Returns 0 if it succeeds, or -1 (and sets errno) if it fails. <code> void fd_close (int fd) </code> <br /> Closes <em>fd</em>. This is a <a href="safewrappers.html">safe wrapper</a> around -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/close.html">close()</a>. +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/close.html">close()</a>. </p> <p> <code> int fd_chmod (int fd, unsigned int mode) </code> <br /> Safe wrapper around -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/fchmod.html">fchmod()</a>. +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/fchmod.html">fchmod()</a>. </p> <p> <code> int fd_chown (int fd, uid_t uid, gid_t gid) </code> <br /> Safe wrapper around -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/fchown.html">fchown()</a>. +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/fchown.html">fchown()</a>. This function requires root privileges. </p> <p> <code> int fd_sync (int fd) </code> <br /> Safe wrapper around -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/fsync.html">fsync()</a>. +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/fsync.html">fsync()</a>. </p> <p> <code> int fd_chdir (int fd) </code> <br /> Safe wrapper around -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/fchdir.html">fchdir()</a>. +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/fchdir.html">fchdir()</a>. </p> <p> @@ -165,7 +165,7 @@ supported: </p> <ul> - <li> <a href="http://www.kernel.org/doc/man-pages/online/pages/man2/splice.2.html">splice()</a>, + <li> <a href="https://man7.org/linux/man-pages/man2/splice.2.html">splice()</a>, in Linux 2.6.17 and later </li> </ul> @@ -236,14 +236,14 @@ modifying errno. <p> <code> int open2 (char const *file, unsigned int flags) </code> <br /> Safe wrapper around -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/open.html">open()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/open.html">open()</a> when it takes 2 arguments. </p> <p> <code> int open3 (char const *file, unsigned int flags) </code> <br /> Safe wrapper around -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/open.html">open()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/open.html">open()</a> when it takes 3 arguments. </p> @@ -264,7 +264,7 @@ Returns a valid fd number if it succeeds, or -1 (and sets errno) if it fails. Opens <em>file</em> in read-only, blocking mode. Returns a valid fd number if it succeeds, or -1 (and sets errno) if it fails. <em>This call does not block.</em> The -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/open.html">open()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/open.html">open()</a> system call is actually performed with the O_NONBLOCK option, and blocking mode is set afterwards; this behaviour allows for more transparent interactions with FIFOs. @@ -336,8 +336,8 @@ The function returns if it fails, and sets errno appropriately. <tt>pathexec_run()</tt> is the standard skalibs API to perform an <tt>exec</tt> call with a path search. It is recommended that you use it instead of the Single Unix -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/execvp.html">execvp()</a> or -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/execlp.html">execlp()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/execvp.html">execvp()</a> or +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/execlp.html">execlp()</a> functions, because <tt>execvp</tt> and <tt>execlp</tt> default to execution of the <tt>/bin/sh</tt> interpreter with <em>file</em> as an argument if they cannot find a suitable executable <em>file</em>, and this is: @@ -439,7 +439,7 @@ and the grandchild's PID if the current process is the parent. <code> pid_t child_spawn0 (char const *file, char const *const *argv, char const *const *envp) </code> <br /> Forks and executes a child as with <tt>pathexec_run(file, argv, envp)</tt>. Returns 0 if it fails, and the pid of the child if it succeeds. -Implemented via <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html">posix_spawn()</a> +Implemented via <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html">posix_spawn()</a> on systems that support it. </p> @@ -522,7 +522,7 @@ or -1 (and sets errno) if it fails. <p> <code> pid_t waitpid_nointr (pid_t pid, int *wstat, int flags) </code> <br /> Safe wrapper around -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/waitpid.html">waitpid()</a>. +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/waitpid.html">waitpid()</a>. </p> <p> diff --git a/doc/libstddjb/gccattributes.html b/doc/libstddjb/gccattributes.html index 194edc9..fa604be 100644 --- a/doc/libstddjb/gccattributes.html +++ b/doc/libstddjb/gccattributes.html @@ -22,7 +22,7 @@ <p> <tt>skalibs/gccattributes.h</tt> is a set of wrappers around -<a href="http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html">gcc +<a href="https://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html">gcc attributes</a> (duh). It defines macros that are always valid, and that have no effect if the compiler is not gcc or the used version of gcc does not support the wanted attribute. diff --git a/doc/libstddjb/index.html b/doc/libstddjb/index.html index d7b6ad1..7851ba9 100644 --- a/doc/libstddjb/index.html +++ b/doc/libstddjb/index.html @@ -45,7 +45,7 @@ including them directly. </li> <h2> Programming </h2> <ul> - <li> <a href="alarm.html">skalibs/alarm.h</a>: sub-second precision <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/alarm.html">alarm()</a> </li> + <li> <a href="alarm.html">skalibs/alarm.h</a>: sub-second precision <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/alarm.html">alarm()</a> </li> <li> <a href="alloc.html">skalibs/alloc.h</a>: basic heap memory allocation primitives </li> <li> <a href="allreadwrite.html">skalibs/allreadwrite.h</a>: <a href="safewrappers.html">safe wrappers</a> around I/O functions, extra I/O functions </li> @@ -54,9 +54,9 @@ wrappers</a> around I/O functions, extra I/O functions </li> <li> <a href="buffer.html">skalibs/buffer.h</a>: bufferized I/O (with statically allocated buffers) </li> <li> <a href="bytestr.html">skalibs/bytestr.h</a>: basic operations on strings and byte arrays </li> <li> <a href="cdb.html">skalibs/cdb.h</a>: how to read -<a href="http://en.wikipedia.org/wiki/Cdb_%28software%29">cdb</a> files </li> +<a href="https://en.wikipedia.org/wiki/Cdb_%28software%29">cdb</a> files </li> <li> <a href="cdb_make.html">skalibs/cdb_make.h</a>: how to write -<a href="http://en.wikipedia.org/wiki/Cdb_%28software%29">cdb</a> files </li> +<a href="https://en.wikipedia.org/wiki/Cdb_%28software%29">cdb</a> files </li> <li> <a href="direntry.html">skalibs/direntry.h</a>: portable directory operations </li> <li> <a href="djbtime.html">skalibs/djbtime.h</a>: conversions between date and time formats </li> <li> <a href="djbunix.html">skalibs/djbunix.h</a>: management of basic Unix concepts </li> @@ -69,7 +69,7 @@ wrappers</a> around I/O functions, extra I/O functions </li> <li> <a href="iopause.html">skalibs/iopause.h</a>: the skalibs event loop selection function </li> <li> <a href="iobuffer.html">skalibs/iobuffer.h</a>: optimized data transfer from a fd to another </li> <li> <a href="lolstdio.html">skalibs/lolstdio.h</a>: -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html">printf</a>-like +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html">printf</a>-like functions writing into <a href="buffer.html">buffers</a> or <a href="bufalloc.html">bufallocs</a> </li> <li> <a href="mininetstring.html">skalibs/mininetstring.h</a>: a protocol to transmit variable-length messages (limited to 64kB) </li> <li> <a href="netstring.html">skalibs/netstring.h</a>: a protocol to transmit variable-length messages (limited to 2^32 bytes) </li> @@ -79,7 +79,7 @@ how to safely handle signals in event loops) </li> <li> <a href="sgetopt.html">skalibs/sgetopt.h</a>: <tt>getopt()</tt>-style command-line options management </li> <li> <a href="sig.html">skalibs/sig.h</a>: safe signal management </li> <li> <a href="siovec.html">skalibs/siovec.h</a>: scatter/gather IO primitives working with an -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_uio.h.html">iovec</a> +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_uio.h.html">iovec</a> structure </li> <li> <a href="skamisc.html">skalibs/skamisc.h</a>: general string quoting and parsing; miscellaneous, unclassifiable functions </li> <li> <a href="socket.html">skalibs/socket.h</a>: INET domain sockets </li> diff --git a/doc/libstddjb/iopause.html b/doc/libstddjb/iopause.html index 0ddaade..6b35416 100644 --- a/doc/libstddjb/iopause.html +++ b/doc/libstddjb/iopause.html @@ -30,9 +30,9 @@ and implemented in the <tt>libskarnet.a</tt> or <tt>libskarnet.so</tt> library. <p> <tt>iopause</tt> is the skalibs API for event loop selection. It's a wrapper around the system's <tt>ppoll()</tt> or -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/poll.html">poll()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/poll.html">poll()</a> (if available) or -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/select.html">select()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/select.html">select()</a> (if neither <tt>ppoll()</tt> n or <tt>poll()</tt> is available) function. It works around some system-dependent quirks; also it works with <em>absolute dates</em> instead of timeouts. This is a good thing: @@ -41,7 +41,7 @@ see below. <p> <tt>iopause</tt> is a derived work from Dan J. Bernstein's -<a href="http://cr.yp.to/lib/iopause.html">iopause</a> library, but the +<a href="https://cr.yp.to/lib/iopause.html">iopause</a> library, but the skalibs implementation is subtly different. </p> @@ -49,7 +49,7 @@ skalibs implementation is subtly different. <p> An <tt>iopause_fd</tt> structure is similar to a -<a href="http://www.opengroup.org/onlinepubs/9699919799/basedefs/poll.h.html">struct pollfd</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/basedefs/poll.h.html">struct pollfd</a> structure, and must be filled the same way. Usually, the user declares an array of <tt>iopause_fd</tt> and fills it, one element per descriptor to select on. If <em>x</em> is an <tt>iopause_fd</tt>: @@ -183,13 +183,13 @@ instead if they configure skalibs with the <tt>--enable-iopause-select</tt> opti </p> <p> -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html">poll()</a> +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html">poll()</a> has a more comfortable API than -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html">select()</a>, +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html">select()</a>, but its maximum precision is 1 millisecond, which might not be enough for some applications; using <tt>select()</tt> instead incurs some CPU overhead for the API conversion, but has a 1 microsecond precision. -<a href="http://man7.org/linux/man-pages/man2/poll.2.html">ppoll()</a> gets the best of +<a href="https://man7.org/linux/man-pages/man2/poll.2.html">ppoll()</a> gets the best of both worlds with the same interface model as <tt>poll()</tt> and a 1 nanosecond precision, which is why skalibs always uses it when available. </p> diff --git a/doc/libstddjb/lolstdio.html b/doc/libstddjb/lolstdio.html index 2af1d72..57ce81d 100644 --- a/doc/libstddjb/lolstdio.html +++ b/doc/libstddjb/lolstdio.html @@ -29,7 +29,7 @@ and implemented in the <tt>libskarnet.a</tt> or <tt>libskarnet.so</tt> library. <p> <tt>lolstdio</tt> is a set of convenience functions providing -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html">printf</a>-style +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html">printf</a>-style formatting but interacting with <a href="buffer.html">buffers</a> or <a href="bufalloc.html">bufallocs</a> instead of stdio FILEs. </p> @@ -52,7 +52,7 @@ writing than fixed-size buffers or FILEs are. <p> The current lolstdio implementation relies on the libc's -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/vsnprintf.html">vsnprintf</a> +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/vsnprintf.html">vsnprintf</a> function. </p> @@ -60,31 +60,31 @@ function. <p> <code> int vbprintf (buffer *b, char const *format, va_list args) </code> <br /> -Like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/vfprintf.html">vfprintf</a> +Like <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/vfprintf.html">vfprintf</a> except that the result is written to the buffer <em>b</em>. </p> <p> <code> int bprintf (buffer *b, char const *format, ...) </code> <br /> -Like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html">fprintf</a> +Like <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html">fprintf</a> except that the result is written to the buffer <em>b</em>. </p> <p> <code> int lolprintf (char const *format, ...) </code> <br /> -Like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html">printf</a> +Like <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html">printf</a> except that the result is written to the buffer <tt>buffer_1</tt>. </p> <p> <code> int vbaprintf (bufalloc *ba, char const *format, va_list args) </code> <br /> -Like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/vfprintf.html">vfprintf</a> +Like <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/vfprintf.html">vfprintf</a> except that the result is written to the bufalloc <em>ba</em>. </p> <p> <code> int baprintf (bufalloc *ba, char const *format, ...) </code> <br /> -Like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html">fprintf</a> +Like <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html">fprintf</a> except that the result is written to the bufalloc <em>ba</em>. </p> diff --git a/doc/libstddjb/safewrappers.html b/doc/libstddjb/safewrappers.html index 94edcae..2cacb4a 100644 --- a/doc/libstddjb/safewrappers.html +++ b/doc/libstddjb/safewrappers.html @@ -33,7 +33,7 @@ function. <p> Quite a lot of system calls are defined by -<a href="http://www.opengroup.org/onlinepubs/9699919799/nfindex.html">The +<a href="https://www.opengroup.org/onlinepubs/9699919799/nfindex.html">The Open Group Base Specifications</a> as interruptible: when the process is in the middle of such a system call and receives a signal that it does not ignore, the system call immediately returns -1 EINTR (after the signal @@ -47,7 +47,7 @@ simply restarted, not interrupted. EINTR can only happen when a signal handler has been installed, and a signal is actually caught by the signal handler during an interruptible system call. And to avoid EINTR, users can use the SA_RESTART flag when installing the signal handler with -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/sigaction.html">sigaction()</a>. +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigaction.html">sigaction()</a>. </p> <p> @@ -57,8 +57,8 @@ when writing an asynchronous event loop. <p> An asynchronous event loop is organized around a -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html">select()</a> or -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html">poll()</a> +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/select.html">select()</a> or +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html">poll()</a> system call that is the only blocking operation in the whole loop. That call takes a timeout as an argument. If a signal handler is installed with SA_RESTART and a signal arrives in the middle of the select/poll call - which happens often diff --git a/doc/libstddjb/selfpipe.html b/doc/libstddjb/selfpipe.html index 4edbaf9..966c34d 100644 --- a/doc/libstddjb/selfpipe.html +++ b/doc/libstddjb/selfpipe.html @@ -64,7 +64,7 @@ execution flow that there's a signal to take care of. And, of course, signal handlers don't mix with event loops, which is a classic source of headaches for programmers and led to the birth of abominations such as -<a href="http://www.opengroup.org/onlinepubs/009695399/functions/pselect.html"> +<a href="https://www.opengroup.org/onlinepubs/009695399/functions/pselect.html"> pselect</a>. So much for the "everything is a file" concept that Unix was built on. </p> @@ -77,7 +77,7 @@ fd readable or something. <p> And that's exactly what the -<a href="http://cr.yp.to/docs/selfpipe.html">self-pipe trick</a>, invented +<a href="https://cr.yp.to/docs/selfpipe.html">self-pipe trick</a>, invented by <a href="../djblegacy.html">DJB</a>, does. </p> @@ -226,7 +226,7 @@ with you, so this is not a concern. Protect yourself from malicious applications with clever use of uids. </li> </ul> -<h2> Hey, Linux has <a href="http://www.kernel.org/doc/man-pages/online/pages/man2/signalfd.2.html">signalfd()</a> for this ! </h2> +<h2> Hey, Linux has <a href="https://man7.org/linux/man-pages/man2/signalfd.2.html">signalfd()</a> for this ! </h2> <p> Yes, the Linux team loves to gratuitously add new system calls to do diff --git a/doc/libstddjb/tai.html b/doc/libstddjb/tai.html index efd4346..d3eaa1d 100644 --- a/doc/libstddjb/tai.html +++ b/doc/libstddjb/tai.html @@ -50,21 +50,21 @@ understand what is going on: </p> <ul> - <li> <a href="http://www.madore.org/~david/misc/time.html">David Madore's page + <li> <a href="https://www.madore.org/~david/misc/time.html">David Madore's page on time</a>. It's outdated (there was a leap second in 2009), but complete. </li> <li> From David Madore again, more to the point: a -<a href="http://www.madore.org/~david/computers/unix-leap-seconds.html">page +<a href="https://www.madore.org/~david/computers/unix-leap-seconds.html">page about leap seconds, UTC and TAI</a>. </li> <li> The skalibs <a href="../flags.html#clockistai">--enable-tai-clock</a> documentation. </li> - <li> <a href="http://cr.yp.to/proto/utctai.html">Dan J. Bernstein's page + <li> <a href="https://cr.yp.to/proto/utctai.html">Dan J. Bernstein's page on UTC, TAI and Unix time</a>. </li> </ul> <p> The meat and potatoes of all this is that programmers cannot simply rely on standard Unix APIs such as -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html">gettimeofday()</a> +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html">gettimeofday()</a> (which, by the way, is marked as obsolescent, but it's not going to disappear tomorrow) to measure time intervals or even to give precise absolute time, and in any case those APIs will become obsolete in 2038. @@ -74,7 +74,7 @@ any case those APIs will become obsolete in 2038. <p> <tt>tai</tt> implements - among other things - the -<a href="http://cr.yp.to/libtai/tai64.html">TAI64 and TAI64N</a> +<a href="https://cr.yp.to/libtai/tai64.html">TAI64 and TAI64N</a> formats, which are used in all of skalibs. This gives a programmer access to precise <em>linear absolute time</em>, which is suitable for both timestamping (<em>wallclock</em> usage) and time interval measurements @@ -84,7 +84,7 @@ represent dates exceeding the estimated lifespan of the universe). <p> <tt>tai</tt> has been inspired by Dan J. Bernstein's -<a href="http://cr.yp.to/libtai.html">libtai</a> library, but does not +<a href="https://cr.yp.to/libtai.html">libtai</a> library, but does not borrow any code from it. </p> @@ -96,10 +96,10 @@ precision. A <tt>tain_t</tt> structure holds an absolute date with a maximum of one-nanosecond precision, as permitted by the underlying system call. If <a href="../flags.html#usert">flag-usert</a> is clear, the system clock will be read via -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html">gettimeofday()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html">gettimeofday()</a> system call, which has a one-microsecond precision; if it is set, the system clock will be read via the -<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/clock_gettime.html">clock_gettime()</a> +<a href="https://www.opengroup.org/onlinepubs/9699919799/functions/clock_gettime.html">clock_gettime()</a> system call, which has a one-nanosecond precision. In either case, a current <tt>tain_t</tt> will be unable to be more precise than the underlying implementation. @@ -180,7 +180,7 @@ start of a program. <p> The following two operations can only succeed if your system provides the -<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_gettime.html">clock_gettime()</a> +<a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_gettime.html">clock_gettime()</a> primitive with at least one of the CLOCK_MONOTONIC or CLOCK_BOOTTIME clocks. Otherwise, they will fail with errno set to ENOSYS. </p> @@ -333,7 +333,7 @@ depending on whether skalibs was compiled with the --enable-tai-clock configure option). This is useful to get valid TAI/TAI64N timestamps out of information exported by the system, for instance the time_t -returned by <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/time.html">time()</a>, +returned by <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/time.html">time()</a>, or in the <tt>st_atim</tt>, <tt>st_mtim</tt> or <tt>st_ctim</tt> fields of a <tt>struct stat</tt>. </p> @@ -427,14 +427,14 @@ Those functions return nonzero iff *<em>t1</em> is lesser than *<em>t2</em>. Marshals *<em>t</em> into the buffer <em>s</em> points to, which must be preallocated with at least TAI_PACK (8) characters. Afterwards, the buffer contains the -<a href="http://cr.yp.to/libtai/tai64.html#tai64">external TAI64 format</a> +<a href="https://cr.yp.to/libtai/tai64.html#tai64">external TAI64 format</a> representation of *<em>t</em>. </p> <p> <code> void tai_unpack (char const *s, tai_t *t) </code> <br /> Unmarshals the -<a href="http://cr.yp.to/libtai/tai64.html#tai64">external TAI64 format</a> +<a href="https://cr.yp.to/libtai/tai64.html#tai64">external TAI64 format</a> label pointed to by <em>s</em> (at least TAI_PACK characters) and stores the result into <em>t</em>. </p> @@ -443,7 +443,7 @@ the result into <em>t</em>. <code> void tain_pack (char *s, tain_t const *a) <br /> void tain_unpack (char const *s, tain_t *a) </code> <br /> Same thing with -<a href="http://cr.yp.to/libtai/tai64.html#tai64n">external TAI64N format</a>, +<a href="https://cr.yp.to/libtai/tai64.html#tai64n">external TAI64N format</a>, using TAIN_PACK (12) characters. </p> |