1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
diff -ru sbcl-0.8.12.orig/contrib/sb-posix/posix-tests.lisp sbcl-0.8.12/contrib/sb-posix/posix-tests.lisp
--- sbcl-0.8.12.orig/contrib/sb-posix/posix-tests.lisp 2004-03-15 09:24:53.000000000 -0600
+++ sbcl-0.8.12/contrib/sb-posix/posix-tests.lisp 2004-04-28 14:47:50.179460512 -0500
@@ -96,7 +96,7 @@
(sb-posix:syscall-errno c)))
#.sb-posix::eexist)
-(deftest mkdir.error.2
+#+nil (deftest mkdir.error.2
(handler-case
(sb-posix:mkdir "/" 0)
(sb-posix:syscall-error (c)
@@ -149,7 +149,7 @@
(sb-posix:syscall-errno c)))
#.sb-posix::enotdir)
-(deftest rmdir.error.3
+#+nil (deftest rmdir.error.3
(handler-case
(sb-posix:rmdir "/")
(sb-posix:syscall-error (c)
diff -ru sbcl-0.8.12.orig/src/runtime/GNUmakefile sbcl-0.8.12/src/runtime/GNUmakefile
--- sbcl-0.8.12.orig/src/runtime/GNUmakefile 2004-04-10 08:37:23.000000000 -0500
+++ sbcl-0.8.12/src/runtime/GNUmakefile 2004-04-28 14:46:29.556717032 -0500
@@ -33,6 +33,7 @@
# symlink to Config-foo.
include Config
+CFLAGS += -DSBCL_HOME='"/usr/lib/sbcl"'
C_SRCS = alloc.c backtrace.c breakpoint.c coreparse.c \
dynbind.c gc-common.c globals.c interr.c interrupt.c \
diff -ru sbcl-0.8.12.orig/src/runtime/thread.c sbcl-0.8.12/src/runtime/thread.c
--- sbcl-0.8.12.orig/src/runtime/thread.c 2004-04-19 14:40:48.000000000 -0500
+++ sbcl-0.8.12/src/runtime/thread.c 2004-04-28 17:03:38.072792448 -0500
@@ -215,24 +215,6 @@
} else lose("can't create initial thread");
}
-#ifdef LISP_FEATURE_SB_THREAD
-pid_t create_thread(lispobj initial_function) {
- struct thread *th=create_thread_struct(initial_function);
- pid_t kid_pid=clone(new_thread_trampoline,
- (((void*)th->control_stack_start)+
- THREAD_CONTROL_STACK_SIZE-4),
- CLONE_FILES|SIG_THREAD_EXIT|CLONE_VM,th);
-
- if(th && kid_pid>0) {
- link_thread(th,kid_pid);
- return th->pid;
- } else {
- destroy_thread(th);
- return 0;
- }
-}
-#endif
-
void destroy_thread (struct thread *th)
{
/* precondition: the unix task has already been killed and exited.
@@ -258,6 +240,23 @@
32*SIGSTKSZ);
}
+#ifdef LISP_FEATURE_SB_THREAD
+pid_t create_thread(lispobj initial_function) {
+ struct thread *th=create_thread_struct(initial_function);
+ pid_t kid_pid=clone(new_thread_trampoline,
+ (((void*)th->control_stack_start)+
+ THREAD_CONTROL_STACK_SIZE-4),
+ CLONE_FILES|SIG_THREAD_EXIT|CLONE_VM,th);
+
+ if(th && kid_pid>0) {
+ link_thread(th,kid_pid);
+ return th->pid;
+ } else {
+ destroy_thread(th);
+ return 0;
+ }
+}
+#endif
struct thread *find_thread_by_pid(pid_t pid)
{
|