summaryrefslogtreecommitdiff
path: root/src/libstddjb
AgeCommit message (Collapse)Author
2020-11-24 Complete revamp of the pathexec functionsLaurent Bercot
- pathexec_run is now called exec_ae a for provided file name (default: argv[0]) e for provided envp (default: environ) - pathexec is now called mexec. m for merge environment. Option letters are: a for provided file name (default: argv[0]) e for provided envp (default: environ) f for provided envp *and* length of the envp m for provided modif string plus its length (the length is always needed because the modifs are null-terminated) n for provided modif string, length *and* number of modifs - functions have a foo0 version for _exit(0) when argv[0] is null - functions have a xfoo version to die if the exec fails - and a xfoo0 - Compatibility #defines and #includes are there until the next major bump
2020-11-23 Save syscalls on coe and ndelay_onLaurent Bercot
2020-11-20 Add fd_shutdown()Laurent Bercot
2020-11-08 Add ipc_bind_reuse_lock, rewrite ipc_bind_reuse to use itLaurent Bercot
2020-10-26 Separate and expose ancil_recv_fd/ancil_send_fdLaurent Bercot
The goal is to make late channel creation easy, as opposed to textclient which always creates a new channel at start time. This commit also moves posixishard.h inclusions as late as possible.
2020-10-26 Change new function names to openc_*; update deps.makLaurent Bercot
2020-10-26 Prepare for 2.9.4.0; add open*coe() functions.Laurent Bercot
2020-09-17 Add stralloc_readyplus_tuned, fix overflow on stralloc_readyplusLaurent Bercot
2020-04-29 Fix alloc_realloc UBLaurent Bercot
void ** does not exist: the address of a generic pointer is not properly defined (different pointer types may have different representations). So, alloc_realloc cannot exist as is without UB. Fortunately, it's not supposed to be used in the skalibs programming style, and skalibs itself only uses it in two places (stralloc_ready_tuned and stralloc_shrink) where the pointer is a char *. So we just fix the UB by making alloc_realloc() take a char **, and it's only defined for that pointer type. Nothing to see here folks, nothing happened at all.
2020-04-04 bugfix: sigprocmask invocation on non-signalfd systemsLaurent Bercot
2020-02-26 Explicitly unblock signals when selfpiped without signalfdLaurent Bercot
This is arguably a bugfix, since selfpipe without signalfd relies on signals being actually delivered, and a process may have inherited a nonempty sigprocmask. Also use SIG_BLOCK instead of SIG_SETMASK when using selfpipe_trapset() with signalfd, because we shouldn't unblock signals that may have previously been blocked. This is also arguably a bugfix. This commit is essential for using the version of s6-linux-init that blocks SIGINT before disablecad on kernels without signalfd. Without it, SIGINT never gets unblocked, so it's never delivered to s6-svscan.
2020-02-10 bugfix: env_merge didn't correctly handle variable removalLaurent Bercot
2020-01-30 Make sagethostname() work with all glibcsLaurent Bercot
2019-10-20 Real fix for undefined PATH_MAXLaurent Bercot
2019-10-20 Don't rely on the existence of PATH_MAXLaurent Bercot
2019-10-10 Fix path_canonicalize()'s returned length when absoluteLaurent Bercot
2019-10-09 Add path_canonicalize, prepare for 2.9.1.0Laurent Bercot
2019-09-20 We're down to ONE rogue sysdep, boys. ONE.Laurent Bercot
2019-09-06 Change tain_now_set_* API: also give an initial valueLaurent Bercot
2019-09-04 Also better when you actually pull the sysdepsLaurent Bercot
2019-09-04 With the correct sysdeps macros, pleaseLaurent Bercot
2019-09-03 Big wallclock/stopwatch refactor. It was long overdue.Laurent Bercot
* --enable-clock and --enable-monotonic are gone * tain_sysclock() has been renamed tain_wallclock_read() * tain_wallclock_read() reads from CLOCK_REALTIME (or gettimeofday()) * tain_clockmon[_init]() have been renamed to tain_stopwatch_[read|init]() and now accept a monotonic clock name as an extra argument * tain_now() points to the system (wall) clock by default * tain_now_set_[stopwatch|wallclock]() can be used to switch Now to make a pass on all skarnet.org programs and add a tain_now_set_stopwatch() call everywhere needed... >.>
2019-08-07 iopause_select: add protection against UB in FD_SETLaurent Bercot
2019-07-31 bugfix: env_dump() unterminated stringsLaurent Bercot
2019-07-23 Typo fixLaurent Bercot
2019-07-22 Factor all the BSD complaints into one new headerLaurent Bercot
2019-07-19 bits-fmtscan refactor, part twoLaurent Bercot
2019-07-11 bugfix: memcmp doesn't guarantee not touching bytes after cmp fails.Laurent Bercot
2019-07-11 Better with the new files added >.>Laurent Bercot
2019-07-11 bits-fmtscan refactor, part oneLaurent Bercot
2019-06-16 child_spawn*: make sure posix_spawn() doesn't clobber pipes with dup2+closeLaurent Bercot
2019-05-07 bugfix: proper sockaddr storage in socket_remote46Laurent Bercot
2019-03-09 Respect POSIX "Seconds since the Epoch" when hitting a leap secondLaurent Bercot
2019-03-08 bugfix: leap second table. Also add leapsec reporting in localtm.Laurent Bercot
2019-02-19 Add skalibs/posixishard.hLaurent Bercot
This will break things. It's a known issue. Patches to other packages will come later, to adapt them to the new API. To work around brokenness, there needs to be *two* different headers: 1. one to be used before including system headers, that maximizes visibility by enabling system-dependent feature test macros (that will be tested by system headers) 2. one to be used after including system headers, that performs preprocessor tests and defines. skalibs/nonposix.h is the first one. Previously, there was no second one, and the tests were scattered all over. There was a strnlen declaration in skalibs/posixplz.h (which serves a totally different function: declaring things that should be in POSIX, but *are not*, i.e. working around problems in the standard, instead of problems in systems failing to respect the standard), a build-time sysdep for error.h, #defines for MSG_NOSIGNAL, etc. etc. skalibs/posixishard.h now is the second one, and centralizes all the tests. As a result, the eproto sysdep is unnecessary and has been removed. skalibs/error.h is now a static header, it is not built anymore.
2019-02-12 Fix xpathexec* exit codes when execve() fails!Laurent Bercot
2019-02-06 Rename mkLtemp to mkhtemp; try to make MacOS happyLaurent Bercot
2019-02-05 The extra space, John! The extra space!Laurent Bercot
2019-02-05fix null-pointer behavior in fmt and fmtlist functionsJohn Regan
This fixes a segfault when a user calls uint320_fmt(NULL,...), and makes the fmtlist functions return the correct number of characters when called with NULL.
2018-11-24 bugfix: rounding error in stralloc_reverse_blocksLaurent Bercot
2018-11-14 Add env_dump()Laurent Bercot
2018-09-14 Better when it buildsLaurent Bercot
2018-09-14 bugfix: child_spawn2 error pathLaurent Bercot
2018-08-01 Remove protLaurent Bercot
2018-07-21 Remove mininetstring, absolutepath, absolutepath_tmpLaurent Bercot
2018-07-21 Add unlink_void, change dir_close, prepare for 2.7.0.0Laurent Bercot
2018-06-24 Add skagetln_loose, skagetlnsep_loose, ipc_timed_sendvLaurent Bercot
2018-03-21 Remove sig_scan, blehLaurent Bercot
2018-03-21 Add sig_scan, sig0_scanLaurent Bercot
2018-03-01 Add byte_zzero, openb_readLaurent Bercot