mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-28 08:12:28 +00:00
Improve stack overflow recovery
It's now possible to use sigaltstack() to recover from stack overflows on Windows. Several bugs in sigaltstack() have been fixed, for all our supported platforms. There's a newer better example showing how to use this, along with three independent unit tests just to further showcase the various techniques.
This commit is contained in:
parent
1694edf85c
commit
4631d34d0d
24 changed files with 590 additions and 274 deletions
|
@ -35,7 +35,8 @@ static int FindPromise(const char *name) {
|
|||
*
|
||||
* @return 0 on success, or -1 if invalid
|
||||
*/
|
||||
int ParsePromises(const char *promises, unsigned long *out) {
|
||||
int ParsePromises(const char *promises, unsigned long *out,
|
||||
unsigned long current) {
|
||||
int rc = 0;
|
||||
int promise;
|
||||
unsigned long ipromises;
|
||||
|
@ -57,7 +58,7 @@ int ParsePromises(const char *promises, unsigned long *out) {
|
|||
rc = -1;
|
||||
}
|
||||
} else {
|
||||
ipromises = 0;
|
||||
ipromises = current;
|
||||
}
|
||||
if (!rc) {
|
||||
*out = ipromises;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue