Branch: Tag:

1997-09-22

1997-09-22 01:01:19 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

bugfixes

Rev: bin/mkpeep.pike:1.6
Rev: src/docode.c:1.23
Rev: src/interpret.h:1.14
Rev: src/object.c:1.23
Rev: src/program.c:1.42
Rev: src/program.h:1.20
Rev: src/threads.c:1.42

1:   #include "global.h" - RCSID("$Id: threads.c,v 1.41 1997/09/17 13:04:14 hubbe Exp $"); + RCSID("$Id: threads.c,v 1.42 1997/09/22 01:01:19 hubbe Exp $");      int num_threads = 1;   int threads_disabled = 0;
205:       if(m->key)    { -  destruct_objects_to_destruct(); -  if(m->key) -  { +     SWAP_OUT_CURRENT_THREAD();    do    {
216:    }while(m->key);    SWAP_IN_CURRENT_THREAD();    } -  } +     m->key=o;    OB2KEY(o)->mut=m;   
250:    error("Recursive mutex locks!\n");    }    } -  if(m->key) -  destruct_objects_to_destruct(); +        if(!m->key)    {
455:    set_init_callback(init_mutex_key_obj);    set_exit_callback(exit_mutex_key_obj);    mutex_key=end_program(); +  mutex_key->flags|=PROG_DESTRUCT_IMMEDIATE;    if(!mutex_key)    fatal("Failed to initialize mutex_key program!\n");