1998-01-13
1998-01-13 23:01:47 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>
-
b1f4eb39528f16bb6a6f876e2458255e588283a1
(17 lines)
(+11/-6)
[
Show
| Annotate
]
Branch: 7.9
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");