avoid longjmp clobber

svn: r1153
This commit is contained in:
Matthew Flatt 2005-10-25 14:00:08 +00:00
parent 8f32654584
commit e8e199af4b
2 changed files with 5 additions and 3 deletions

View File

@ -3294,6 +3294,7 @@ Scheme_Object *scheme_dynamic_wind(void (*pre)(void *),
scheme_restore_env_stack_w_thread(dw->envss, p);
err = 1;
} else {
p = scheme_current_thread;
p->suspend_break++;
post(data);
p = scheme_current_thread;

View File

@ -1861,12 +1861,13 @@ static Scheme_Object *return_data(void *data, int argc, Scheme_Object **argv)
int scheme_peeked_read_via_get(Scheme_Input_Port *ip,
long _size,
Scheme_Object *unless_evt,
Scheme_Object *target_evt)
Scheme_Object *_target_evt)
{
Scheme_Object *v, *sema, *a[3], **aa, *l;
Scheme_Object * volatile v, *sema, *a[3], ** volatile aa, * volatile l;
volatile long size = _size;
int n, current_leader = 0;
volatile int n, current_leader = 0;
Scheme_Type t;
Scheme_Object * volatile target_evt = _target_evt;
/* Check whether t's even t value is known to be always itself: */
t = SCHEME_TYPE(target_evt);