projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Micro-optimize gc scavenge.
[sbcl.git]
/
src
/
runtime
/
thread.h
diff --git
a/src/runtime/thread.h
b/src/runtime/thread.h
index
6de8f89
..
1a004c0
100644
(file)
--- a/
src/runtime/thread.h
+++ b/
src/runtime/thread.h
@@
-303,9
+303,10
@@
static inline struct thread *arch_os_get_current_thread(void)
return me;
#else
return me;
#else
- if (!all_threads)
- /* no need to bother */
- return 0;
+
+# if defined(LISP_FEATURE_X86)
+ if (!all_threads) return 0;
+#endif
/* Otherwise, use pthreads to find the right value. We do not load
* directly from %fs:this even on x86 platforms (like Linux and
/* Otherwise, use pthreads to find the right value. We do not load
* directly from %fs:this even on x86 platforms (like Linux and
@@
-337,10
+338,10
@@
extern kern_return_t mach_lisp_thread_destroy(struct thread *thread);
#endif
typedef struct init_thread_data {
#endif
typedef struct init_thread_data {
+ sigset_t oldset;
#ifdef LISP_FEATURE_SB_SAFEPOINT
struct gcing_safety safety;
#endif
#ifdef LISP_FEATURE_SB_SAFEPOINT
struct gcing_safety safety;
#endif
- void *dummy;
} init_thread_data;
#ifdef LISP_FEATURE_SB_SAFEPOINT
} init_thread_data;
#ifdef LISP_FEATURE_SB_SAFEPOINT
@@
-418,6
+419,14
@@
void pop_gcing_safety(struct gcing_safety *from)
int check_pending_thruptions(os_context_t *ctx);
int check_pending_thruptions(os_context_t *ctx);
+void attach_os_thread(init_thread_data *);
+void detach_os_thread(init_thread_data *);
+
+# if defined(LISP_FEATURE_SB_SAFEPOINT_STRICTLY) && !defined(LISP_FEATURE_WIN32)
+
+void signal_handler_callback(lispobj, int, void *, void *);
+# endif
+
#endif
extern void create_initial_thread(lispobj);
#endif
extern void create_initial_thread(lispobj);