about summary refs log tree commit diff
path: root/src/process/posix_spawnp.c
Commit message (Collapse)AuthorAgeFilesLines
* rework mechanism for posix_spawnp calling posix_spawnRich Felker2018-09-121-6/+4
| | | | | | | | | | | | | | | | | | previously, a common __posix_spawnx backend was used that accepted an additional argument for the execve variant to call in the child. this moderately bloated up the posix_spawn function, shuffling arguments between stack and/or registers to call a 7-argument function from a 6-argument one. instead, tuck the exec function pointer in an unused part of the (large) pthread_spawnattr_t structure, and have posix_spawnp duplicate the attributes and fill in a pointer to __execvpe. the net code size change is minimal, but the weight is shifted to the "heavier" function which already pulls in more dependencies. as a bonus, we get rid of an external symbol (__posix_spawnx) that had no really good place for a declaration because it shouldn't have existed to begin with.
* fix parent-memory-clobber in posix_spawn (environ)Rich Felker2012-10-181-2/+4
|
* use restrict everywhere it's required by c99 and/or posix 2008Rich Felker2012-09-061-5/+5
| | | | | | | | to deal with the fact that the public headers may be used with pre-c99 compilers, __restrict is used in place of restrict, and defined appropriately for any supported compiler. we also avoid the form [restrict] since older versions of gcc rejected it due to a bug in the original c99 standard, and instead use the form *restrict.
* fix various errors in function signatures/prototypes found by nszRich Felker2011-09-131-2/+3
|
* initial implementation of posix_spawnRich Felker2011-05-281-0/+14
file actions are not yet implemented, but everything else should be mostly complete and roughly correct.