It may be that pthreads on NetBSD is now good enough,
but the build as written (introduced in 23a2368 at my suggestion)
is certainly broken, since both NetBSD.c and pthread.c define
the same functions.
If NetBSD does support pthreads now, then a few things
should happen together:
- libthread/sysofiles.sh should drop its top NetBSD case entirely
- libthread/NetBSD.c should be deleted
- libthread/NetBSD-*-asm.s should be deleted
- include/u.h's NetBSD case should define PLAN9PORT_USING_PTHREADS
and #include <pthread.h>
For now, restore to less clearly broken build.
Linux.c was for Linux 2.4 and is no longer used directly,
only indirectly because NetBSD.c was a 1-line file #including Linux.c.
So mv Linux.c NetBSD.c.
Also rm Linux-*-asm.s which was for Linux 2.4 as well.
They were just a duplicate of my(get|set)mcontext from the other
assembly file, and unused from threadimpl.h.
Change-Id: Id8003e5177ed9d37a7f0210037acbe55bbf7f708
The issue manifests in fork: POSIX fork mandates that a
fork'd process is created with a single thread. If a
multithreaded program forks, and some thread was in
malloc() when the fork() happened, then in the child
the lock will be held but there will be no thread to
release it.
We assume the system malloc() must already know how to
deal with this and is thread-safe, but it won't know about
our custom spinlock. Judging that this is no longer
necessary (the lock code was added 15 years ago) we remove
it.
Signed-off-by: Dan Cross <cross@gajendra.net>
The dump substitutes each \n in a multiline tag with a 0xff byte.
Since it is not valid UTF it cannot occur in an ordinary dump file.
Old acmes will just read it in as an error rune.
Fixes#135.
Fixes#153.
This hides the menu on dock on all screens which is more than we want.
The code was added to fix a problem with Catalina that I can no longer
reproduce, so I guess it works now.
Fixes#336.
There are many things we could do to make this work.
an environment variable to control the character.
Another option would be to use U+00A0 (non-breaking space),
which renders the same as space.
This change avoids changing the separator character and instead
assumes that if the left side of the tag already ends in " Del Snarf |"
then what comes before that is the file name.
Acme already aggressively preserves the "Del Snarf |",
so this should work decently well as a stop-gap.
We can always try something else later.
Fixes#26.
Fixes#104.
Fixes#329.
Real disk devices should be block devices anyway.
One user reported the disksize check causing a
system reboot during vac of a tree with an "interesting"
device.
Fixes#103.
This brings mk's behavior when using rc in line with Plan 9's.
The existing code is for Unix environment data structures but
also was assuming Unix shell semantics where empty and missing
variables are mostly equivalent.
The Plan 9 code (/sys/src/cmd/mk/plan9.c in the distribution)
explicitly removes /env/name (creating an empty list) when the
value is missing or an empty string.
Fixes#255.