aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstddjb
Commit message (Collapse)AuthorAgeFilesLines
* Separate and expose ancil_recv_fd/ancil_send_fdLaurent Bercot2020-10-267-7/+7
| | | | | | | 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.
* Change new function names to openc_*; update deps.makLaurent Bercot2020-10-2613-15/+15
|
* Prepare for 2.9.4.0; add open*coe() functions.Laurent Bercot2020-10-2613-6/+91
|
* Add stralloc_readyplus_tuned, fix overflow on stralloc_readyplusLaurent Bercot2020-09-171-0/+12
|
* Fix alloc_realloc UBLaurent Bercot2020-04-293-4/+4
| | | | | | | | | | | | | 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.
* bugfix: sigprocmask invocation on non-signalfd systemsLaurent Bercot2020-04-041-1/+1
|
* Explicitly unblock signals when selfpiped without signalfdLaurent Bercot2020-02-262-3/+3
| | | | | | | | | | | | | | | | 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.
* bugfix: env_merge didn't correctly handle variable removalLaurent Bercot2020-02-101-1/+2
|
* Make sagethostname() work with all glibcsLaurent Bercot2020-01-301-4/+11
|
* Real fix for undefined PATH_MAXLaurent Bercot2019-10-201-1/+13
|
* Don't rely on the existence of PATH_MAXLaurent Bercot2019-10-201-2/+1
|
* Fix path_canonicalize()'s returned length when absoluteLaurent Bercot2019-10-101-1/+1
|
* Add path_canonicalize, prepare for 2.9.1.0Laurent Bercot2019-10-091-0/+69
|
* We're down to ONE rogue sysdep, boys. ONE.Laurent Bercot2019-09-206-78/+16
|
* Change tain_now_set_* API: also give an initial valueLaurent Bercot2019-09-063-12/+17
|
* Also better when you actually pull the sysdepsLaurent Bercot2019-09-041-0/+1
|
* With the correct sysdeps macros, pleaseLaurent Bercot2019-09-041-2/+2
|
* Big wallclock/stopwatch refactor. It was long overdue.Laurent Bercot2019-09-039-112/+103
| | | | | | | | | | | | | * --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... >.>
* iopause_select: add protection against UB in FD_SETLaurent Bercot2019-08-071-0/+1
|
* bugfix: env_dump() unterminated stringsLaurent Bercot2019-07-311-1/+2
|
* Typo fixLaurent Bercot2019-07-231-1/+1
|
* Factor all the BSD complaints into one new headerLaurent Bercot2019-07-229-44/+22
|
* bits-fmtscan refactor, part twoLaurent Bercot2019-07-197-18/+39
|
* bugfix: memcmp doesn't guarantee not touching bytes after cmp fails.Laurent Bercot2019-07-111-2/+1
|
* Better with the new files added >.>Laurent Bercot2019-07-114-0/+79
|
* bits-fmtscan refactor, part oneLaurent Bercot2019-07-1123-164/+71
|
* child_spawn*: make sure posix_spawn() doesn't clobber pipes with dup2+closeLaurent Bercot2019-06-164-22/+37
|
* bugfix: proper sockaddr storage in socket_remote46Laurent Bercot2019-05-071-4/+4
|
* Respect POSIX "Seconds since the Epoch" when hitting a leap secondLaurent Bercot2019-03-093-6/+5
|
* bugfix: leap second table. Also add leapsec reporting in localtm.Laurent Bercot2019-03-086-35/+37
|
* Add skalibs/posixishard.hLaurent Bercot2019-02-197-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix xpathexec* exit codes when execve() fails!Laurent Bercot2019-02-127-7/+21
|
* Rename mkLtemp to mkhtemp; try to make MacOS happyLaurent Bercot2019-02-061-0/+2
|
* The extra space, John! The extra space!Laurent Bercot2019-02-051-1/+1
|
* fix null-pointer behavior in fmt and fmtlist functionsJohn Regan2019-02-051-12/+11
| | | | | | 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.
* bugfix: rounding error in stralloc_reverse_blocksLaurent Bercot2018-11-241-2/+3
|
* Add env_dump()Laurent Bercot2018-11-141-0/+51
|
* Better when it buildsLaurent Bercot2018-09-141-1/+1
|
* bugfix: child_spawn2 error pathLaurent Bercot2018-09-142-2/+2
|
* Remove protLaurent Bercot2018-08-013-73/+0
|
* Remove mininetstring, absolutepath, absolutepath_tmpLaurent Bercot2018-07-214-91/+1
|
* Add unlink_void, change dir_close, prepare for 2.7.0.0Laurent Bercot2018-07-211-7/+8
|
* Add skagetln_loose, skagetlnsep_loose, ipc_timed_sendvLaurent Bercot2018-06-242-0/+30
|
* Remove sig_scan, blehLaurent Bercot2018-03-212-40/+27
|
* Add sig_scan, sig0_scanLaurent Bercot2018-03-212-0/+47
|
* Add byte_zzero, openb_readLaurent Bercot2018-03-012-0/+45
|
* Fix HASSIGNEDSIGNED sysdeps macros, add localtm_from_ltm64 tolerance for ↵Laurent Bercot2018-02-021-0/+3
| | | | 64-bit time_t
* Add child_spawn3, make textclient_startf use itLaurent Bercot2018-01-032-1/+166
|
* Deprecate env_getLaurent Bercot2017-12-227-27/+25
|
* Add dirfd sysdep, because Solaris sucksLaurent Bercot2017-12-211-0/+23
|