THREAD_LOCAL scheme_system_idle_channel
svn: r16156
This commit is contained in:
parent
cdeb27255e
commit
1d95e97c29
|
@ -437,6 +437,7 @@ static Scheme_Env *place_instance_init_post_kernel() {
|
|||
scheme_init_eval_places();
|
||||
scheme_init_regexp_places();
|
||||
scheme_init_stx_places();
|
||||
scheme_init_sema_places();
|
||||
|
||||
env = scheme_make_empty_env();
|
||||
scheme_set_param(scheme_current_config(), MZCONFIG_ENV, (Scheme_Object *)env);
|
||||
|
|
|
@ -231,6 +231,7 @@ void scheme_init_port_places(void);
|
|||
void scheme_init_regexp_places(void);
|
||||
void scheme_init_stx_places(void);
|
||||
void scheme_init_fun_places(void);
|
||||
void scheme_init_sema_places(void);
|
||||
void scheme_init_print_global_constants(void);
|
||||
|
||||
void register_network_evts();
|
||||
|
@ -333,7 +334,7 @@ extern Scheme_Object *scheme_stack_dump_key;
|
|||
|
||||
extern Scheme_Object *scheme_default_prompt_tag;
|
||||
|
||||
extern Scheme_Object *scheme_system_idle_channel;
|
||||
extern THREAD_LOCAL Scheme_Object *scheme_system_idle_channel;
|
||||
|
||||
extern Scheme_Object *scheme_input_port_property, *scheme_output_port_property;
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#ifndef NO_SCHEME_THREADS
|
||||
|
||||
Scheme_Object *scheme_always_ready_evt;
|
||||
Scheme_Object *scheme_system_idle_channel;
|
||||
THREAD_LOCAL Scheme_Object *scheme_system_idle_channel;
|
||||
|
||||
static Scheme_Object *make_sema(int n, Scheme_Object **p);
|
||||
static Scheme_Object *semap(int n, Scheme_Object **p);
|
||||
|
@ -196,9 +196,6 @@ void scheme_init_sema(Scheme_Env *env)
|
|||
o->type = scheme_thread_recv_evt_type;
|
||||
thread_recv_evt = o;
|
||||
|
||||
REGISTER_SO(scheme_system_idle_channel);
|
||||
scheme_system_idle_channel = scheme_make_channel();
|
||||
|
||||
scheme_add_evt(scheme_sema_type, sema_ready, NULL, NULL, 0);
|
||||
scheme_add_evt_through_sema(scheme_semaphore_repost_type, sema_for_repost, NULL);
|
||||
scheme_add_evt(scheme_channel_type, (Scheme_Ready_Fun)channel_get_ready, NULL, NULL, 1);
|
||||
|
@ -210,6 +207,11 @@ void scheme_init_sema(Scheme_Env *env)
|
|||
scheme_add_evt(scheme_thread_recv_evt_type, (Scheme_Ready_Fun)thread_recv_ready, NULL, NULL, 0);
|
||||
}
|
||||
|
||||
void scheme_init_sema_places() {
|
||||
REGISTER_SO(scheme_system_idle_channel);
|
||||
scheme_system_idle_channel = scheme_make_channel();
|
||||
}
|
||||
|
||||
Scheme_Object *scheme_make_sema(long v)
|
||||
{
|
||||
Scheme_Sema *sema;
|
||||
|
|
Loading…
Reference in New Issue
Block a user