aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Separate and expose ancil_recv_fd/ancil_send_fdLaurent Bercot2020-10-2626-115/+157
| | | | | | | 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-2614-23/+23
|
* Prepare for 2.9.4.0; add open*coe() functions.Laurent Bercot2020-10-2614-6/+99
|
* Add stralloc_readyplus_tuned, fix overflow on stralloc_readyplusLaurent Bercot2020-09-172-1/+14
|
* Fix alloc_realloc UBLaurent Bercot2020-04-294-5/+5
| | | | | | | | | | | | | 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
|
* bugfix: do not include posixishard.h in an early header!Laurent Bercot2020-03-211-1/+0
|
* 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.
* execvep_internal: accommodate broken PATHs with ENOTDIR testLaurent Bercot2020-02-191-1/+1
|
* 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
|
* Switch getrandom sysdep back to choose clLaurent Bercot2019-10-261-0/+6
|
* Better bigkvLaurent Bercot2019-10-255-67/+80
|
* Add bigkvLaurent Bercot2019-10-256-0/+135
|
* 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
|
* __GNU__ is actually preferred to __gnu_hurd__, it seemsLaurent Bercot2019-10-181-6/+7
|
* nonposix.h: define _GNU_SOURCE for Hurd, remove __GLIBC__ testLaurent Bercot2019-10-171-3/+3
| | | | | | | | | | __GLIBC__ and similar ftms are not defined in the compiler, but in features.h, which isn't POSIX so cannot be included, and standard headers can't be included either because nonposix.h defines ftms that must exist *prior to* std headers inclusion. The kernel ftms, however, are defined by the compiler, so we can use them.
* Fix path_canonicalize()'s returned length when absoluteLaurent Bercot2019-10-101-1/+1
|
* Add path_canonicalize, prepare for 2.9.1.0Laurent Bercot2019-10-092-0/+71
|
* THAT'S IT WE HAVE EASY CROSS-COMPILATION FOLKSLaurent Bercot2019-09-201-43/+0
|
* We're down to ONE rogue sysdep, boys. ONE.Laurent Bercot2019-09-2010-137/+20
|
* sysdeps redesign: first part: minimize clr testsLaurent Bercot2019-09-206-42/+32
| | | | | | | | Remaining clr: emptyregex: can be safely guessed to no nullispointer: can't be safely guessed, but do we need the test? devurandom: can't be safely guessed malloc0: can more or less be safely guessed to no
* Change tain_now_set_* API: also give an initial valueLaurent Bercot2019-09-064-15/+22
|
* 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-0311-121/+127
| | | | | | | | | | | | | * --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-2218-86/+81
|
* Rework skalibs/nonposix.h to avoid glibc squealing like a pigLaurent Bercot2019-07-222-21/+31
| | | | | Also move a conformance workaround from nonposix.h to posixishard.h This may break things on MacOS, needs testing.
* bits-fmtscan refactor, part twoLaurent Bercot2019-07-198-18/+40
|
* 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-117-0/+113
|
* bits-fmtscan refactor, part oneLaurent Bercot2019-07-1128-175/+120
|
* child_spawn*: make sure posix_spawn() doesn't clobber pipes with dup2+closeLaurent Bercot2019-06-164-22/+37
|
* Add tryemptyregex/skalibs_regcomp, prepare for 2.8.1.0Laurent Bercot2019-05-112-0/+24
|
* 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-1935-91/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add DragonFly macro; remove nbwaitall and ancilautocloseLaurent Bercot2019-02-198-172/+1
|
* Get rid of tryancilautoclose testLaurent Bercot2019-02-181-108/+6
|
* Remove _BSD_SOURCE from nonposix, just to try...Laurent Bercot2019-02-141-3/+0
|
* Fix xpathexec* exit codes when execve() fails!Laurent Bercot2019-02-127-7/+21
|
* Rename mkLtemp to mkhtemp; try to make MacOS happyLaurent Bercot2019-02-064-2/+11
|
* 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.
* Proper use of umask for mk[bcp]tempLaurent Bercot2019-01-083-0/+6
|