Skip to content

Commit

Permalink
macos: symbols for rb_execution_context_t should be internal
Browse files Browse the repository at this point in the history
  • Loading branch information
nobu committed Jul 8, 2023
1 parent f052aa1 commit 3c4d788
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 26 deletions.
6 changes: 3 additions & 3 deletions ractor_core.h
Expand Up @@ -310,11 +310,11 @@ static inline void
rb_ractor_set_current_ec_(rb_ractor_t *cr, rb_execution_context_t *ec, const char *file, int line)
{
#ifdef RB_THREAD_LOCAL_SPECIFIER
#ifdef __APPLE__
# ifdef __APPLE__
rb_current_ec_set(ec);
#else
# else
ruby_current_ec = ec;
#endif
# endif
#else
native_tls_set(ruby_current_ec_key, ec);
#endif
Expand Down
24 changes: 11 additions & 13 deletions thread_pthread.h
Expand Up @@ -90,19 +90,18 @@ struct rb_thread_sched {
int wait_yield;
};

RUBY_SYMBOL_EXPORT_BEGIN
#ifdef RB_THREAD_LOCAL_SPECIFIER
# ifdef __APPLE__
// on Darwin, TLS can not be accessed across .so
struct rb_execution_context_struct *rb_current_ec(void);
void rb_current_ec_set(struct rb_execution_context_struct *);
# else
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER struct rb_execution_context_struct *ruby_current_ec;

// for RUBY_DEBUG_LOG()
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER rb_atomic_t ruby_nt_serial;
#define RUBY_NT_SERIAL 1
# endif
# ifdef __APPLE__
// on Darwin, TLS can not be accessed across .so
struct rb_execution_context_struct *rb_current_ec(void);
void rb_current_ec_set(struct rb_execution_context_struct *);
# else
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER struct rb_execution_context_struct *ruby_current_ec;

// for RUBY_DEBUG_LOG()
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER rb_atomic_t ruby_nt_serial;
#define RUBY_NT_SERIAL 1
# endif
#else
typedef pthread_key_t native_tls_key_t;

Expand All @@ -123,6 +122,5 @@ native_tls_set(native_tls_key_t key, void *ptr)

RUBY_EXTERN native_tls_key_t ruby_current_ec_key;
#endif
RUBY_SYMBOL_EXPORT_END

#endif /* RUBY_THREAD_PTHREAD_H */
21 changes: 11 additions & 10 deletions vm.c
Expand Up @@ -446,16 +446,17 @@ RB_THREAD_LOCAL_SPECIFIER rb_atomic_t ruby_nt_serial;
#endif

#ifdef __APPLE__
rb_execution_context_t *
rb_current_ec(void)
{
return ruby_current_ec;
}
void
rb_current_ec_set(rb_execution_context_t *ec)
{
ruby_current_ec = ec;
}
rb_execution_context_t *
rb_current_ec(void)
{
return ruby_current_ec;
}

void
rb_current_ec_set(rb_execution_context_t *ec)
{
ruby_current_ec = ec;
}
#endif

#else
Expand Down

0 comments on commit 3c4d788

Please sign in to comment.