Branch: Tag:

1998-01-13

1998-01-13 23:01:47 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

Compiler update to use two pass

Rev: src/acconfig.h:1.14
Rev: src/builtin_functions.c:1.59
Rev: src/builtin_functions.h:1.5
Rev: src/compilation.h:1.4
Rev: src/configure.in:1.149
Rev: src/cpp.c:1.3
Rev: src/docode.c:1.24
Rev: src/docode.h:1.4
Rev: src/gc.c:1.24
Rev: src/interpret.c:1.57
Rev: src/interpret.h:1.16
Rev: src/language.yacc:1.51
Rev: src/las.c:1.40
Rev: src/las.h:1.9
Rev: src/lex.c:1.37
Rev: src/lex.h:1.7
Rev: src/main.c:1.32
Rev: src/modules/Image/blit.c:1.26
Rev: src/modules/Image/colortable.c:1.33
Rev: src/modules/Image/dct.c:1.11
Rev: src/modules/Image/image.c:1.73
Rev: src/modules/Image/matrix.c:1.13
Rev: src/modules/Image/operator.c:1.11
Rev: src/modules/Image/pattern.c:1.11
Rev: src/modules/Image/pnm.c:1.9
Rev: src/modules/Image/polyfill.c:1.18
Rev: src/modules/Image/togif.c:1.29
Rev: src/modules/Image/x.c:1.17
Rev: src/modules/Pipe/pipe.c:1.15
Rev: src/modules/Regexp/glue.c:1.9
Rev: src/modules/_Crypto/cbc.c:1.10
Rev: src/modules/_Crypto/crypto.c:1.24
Rev: src/modules/_Crypto/des.c:1.11
Rev: src/modules/_Crypto/pipe.c:1.11
Rev: src/modules/_Crypto/sha.c:1.9
Rev: src/modules/files/socktest.pike:1.6
Rev: src/modules/system/system.c:1.37
Rev: src/object.c:1.31
Rev: src/object.h:1.13
Rev: src/opcodes.c:1.10
Rev: src/operators.c:1.22
Rev: src/peep.c:1.16
Rev: src/peep.in:1.9
Rev: src/pike_types.c:1.27
Rev: src/pike_types.h:1.6
Rev: src/program.c:1.48
Rev: src/program.h:1.24
Rev: src/program_areas.h:1.2
Rev: src/stralloc.c:1.21
Rev: src/stralloc.h:1.10
Rev: src/svalue.c:1.18
Rev: src/testsuite.in:1.64
Rev: src/threads.c:1.51
Rev: src/threads.h:1.26

1:   #include "global.h" - RCSID("$Id: threads.c,v 1.50 1998/01/03 07:12:12 hubbe Exp $"); + RCSID("$Id: threads.c,v 1.51 1998/01/13 22:56:51 hubbe Exp $");      int num_threads = 1;   int threads_disabled = 0;
74: Inside #if defined(SIMULATE_COND_WITH_EVENT)
  {    struct cond_t_queue *t;    mt_lock(& c->lock); -  n=c->head; -  c->head=c->tail=0; -  if(t) return EBUSY; +  t=c->head; +  mt_unlock(& c->lock); +  if(t) return -1; +  mt_destroy(& c->lock);    return 0;   }   
191:    arg->id=clone_object(thread_id_prog,0);    ((struct thread_state *)arg->id->storage)->status=THREAD_RUNNING;    -  tmp=th_create(&dummy,new_thread_func,arg); +  tmp=th_create(&((struct thread_state *)arg->id->storage)->id, +  new_thread_func, +  arg);       if(!tmp)    {
509:   void exit_thread_obj(struct object *o)   {    co_destroy(& THIS_THREAD->status_change); +  th_destroy(& THIS_THREAD->id);   }      #ifdef DEBUG
577:    set_init_callback(init_mutex_key_obj);    set_exit_callback(exit_mutex_key_obj);    mutex_key=end_program(); -  mutex_key->flags|=PROG_DESTRUCT_IMMEDIATE; +  mutex_key->flags|=PROGRAM_DESTRUCT_IMMEDIATE;    if(!mutex_key)    fatal("Failed to initialize mutex_key program!\n");