summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Ushakov <uwe@stderr.spb.ru>2017-01-12 02:19:49 +0300
committerValery Ushakov <uwe@stderr.spb.ru>2017-01-12 02:19:49 +0300
commit100d67d0f493a2a80073bc98a9e53c5e38a8e337 (patch)
treeeaf7d658a0c9d636fe9c7af521a745e24999a2e6
parent546783184a373a2dd59afef3affe029a6aedd701 (diff)
Revert dbaf2f1a92f6 and instead move initialization of "coherence" to
emu/NetBSD/os.c As explained in inferno-os issue 335: > The definition of coherence deliberately takes advantage of a C rule > to avoid anyone having to change an existing fork of emu (eg, for a > new platform), to account for the arrival of "coherence". If a > given port doesn't define it, it will be nil and main will fill it > in. If as on Windows or now NetBSD, it needs to be defined from the > start, the os.c for that platform should do it, but still no other > platforms need source changes.
-rw-r--r--emu/NetBSD/os.c4
-rw-r--r--emu/port/fns.h2
-rw-r--r--emu/port/main.c4
3 files changed, 5 insertions, 5 deletions
diff --git a/emu/NetBSD/os.c b/emu/NetBSD/os.c
index fa582a16..e299a188 100644
--- a/emu/NetBSD/os.c
+++ b/emu/NetBSD/os.c
@@ -13,6 +13,10 @@
#include "fns.h"
#include "error.h"
+/* For dynamic linking init/fini code that needs malloc */
+void (*coherence)(void) = nofence;
+
+
enum
{
DELETE = 0x7f,
diff --git a/emu/port/fns.h b/emu/port/fns.h
index 36d341b7..6a0809c0 100644
--- a/emu/port/fns.h
+++ b/emu/port/fns.h
@@ -20,7 +20,7 @@ Dir* chandirstat(Chan*);
void cinit(void);
char* clipread(void);
int clipwrite(char*);
-extern void (*coherence)(void);
+void (*coherence)(void);
void copen(Chan*);
void cmderror(Cmdbuf*, char*);
Block* concatblock(Block*);
diff --git a/emu/port/main.c b/emu/port/main.c
index da1aa432..158f6b03 100644
--- a/emu/port/main.c
+++ b/emu/port/main.c
@@ -27,10 +27,6 @@ extern int mflag;
ulong displaychan;
char *cputype;
-/* For dynamic linking init/fini code that needs malloc */
-void (*coherence)(void) = nofence;
-
-
static void
usage(void)
{