Age | Commit message (Collapse) | Author | Files | Lines |
|
Fixes #376.
|
|
Fixes #362.
|
|
Now that everything uses pthreads and pthreadperthread,
can delete various conditionals, all the custom context code,
and so on. Also update documents.
Fixes #355.
|
|
|
|
|
|
Programs that want to background themselves now need
to define threadmaybackground returning 1.
This avoids a confusing (to people and debuggers)
extra parent process for all the threaded programs
that will never want to background themselves.
|
|
I added a direct call from thread.c to pthread.c's _threadpthreadstart
in May, and no one has complained about NetBSD being broken.
So probably no one is using this on NetBSD at all.
Make pthread the only option.
|
|
Fixes #469.
|
|
This was causing sporadic but frequent crashes at startup
in 9pserve on the new M1 Macs, correctly diagnosing a
use-after-free.
|
|
|
|
|
|
This should make the AIX build finally work.
Fixes #400.
|
|
Suggested by G. Brandon Robinson.
|
|
Drawing as white on black to produce a mask only works if
the white on black is the inversion of black on white.
Emoji that force use of specific colors don't respect that.
Draw black on white and invert to mask separately.
|
|
The overloading of IR emits magic \X'...' sequences that turn into HTML manual links.
But not all such IR invocations should be manual links;
those had to be written to avoid the IR macro before.
Worse, the \X'...' ending the IR causes troff to emit only a single space after a period.
Defining a new IM macro for manual references fixes both problems.
Fixes #441.
|
|
This fixes https://github.com/9fans/plan9port/issues/436
This doesn't necessarily address the underlying issue: calling p9create with
mode = OREAD should probably be allowed, but currently doesn't work on
OpenBSD.
|
|
Fixes #432.
|
|
|
|
|
|
With very large fonts (72pt or so) I see bad cache glyphs,
and this fixes it. Not entirely sure exactly which code
is overflowing, but something is.
|
|
Unclear why it is here (wkj added it long ago).
It has never been installed into $PLAN9/bin,
so it's doubtful that anyone has ever used it.
Arnold Robbins has an alternate version at
https://github.com/arnoldrobbins/dformat.
Fixes #421.
|
|
|
|
|
|
Fixes #406. Suggested by nms42.
|
|
I changed from 6 to 8 digits but forgot to update the man page.
|
|
List mode was constrained to the BMP. This change introduces
the following new list mode convention, using Go string literal syntax:
Non-printing ASCII characters display as \xhh.
Non-ASCII characters in the BMP display as \uhhhh.
Characters beyond the BMP display as \Uhhhhhhhh.
|
|
Alt X 1234 for U+1234
Alt X X 12345 for U+12345
Alt X X X 103456 for U+103456.
|
|
Co-authored-by: dzklaim <smmoth.rp@gmail.com>
|
|
Have to adjust algorithms to deal with
much larger number of subfont files as well.
|
|
|
|
Fixes #386.
|
|
Runes in Plan 9 were limited to the 16-bit BMP when I drew up
the RPC protocol between graphical programs and devdraw
a long time ago. Now that they can be 32-bit, use a 32-bit wire
encoding too. A new message number to avoid problems with
other clients (like 9fans.net/go).
Add keyboard shortcut alt : , for U+1F602, face with tears of joy,
to test that it all works.
|
|
|
|
Even in mkmk.sh.
|
|
|
|
|
|
|
|
For AIX.
|
|
For AIX.
|
|
AIX defines some of these constants in its C header files.
|
|
math.h defines a function named class on AIX.
|
|
|
|
Fixes #395.
|
|
Setting up for a real window system.
|
|
Setting up for a real window system.
|
|
|
|
ASAN can't deal with the coroutine stacks.
In theory we can call into ASAN runtime to let it know about them,
but ASAN still has problems with fork or exit happening from a
non-system stack. Bypass all possible problems by just having
a full OS thread for each libthread thread. The threads are still
cooperatively scheduled within a proc (in thos mode, a group of OS threads).
Setting the environment variable LIBTHREAD=pthreadperthread
will enable the pthreadperthread mode, as will building with
CC9FLAGS='-fsanitize=address' in $PLAN9/config.
This solution is much more general than ASAN - for example if
you are trying to find all the thread stacks in a reproducible crash
you can use pthreadperthread mode with any debugger that
knows only about OS threads.
|
|
If mk gets into a bad state, it's not obvious that you can
remove the binary to force the rebuild. Also, not rebuilding
means that bugs in mkmk.sh are not noticed.
Just rebuild from scratch every time. It doesn't take too long
compared to the rest of INSTALL.
|
|
Also, if CC9FLAGS includes -fsanitize=address (ASAN),
predefine PLAN9PORT_ASAN for use by programs that need
to know (mainly libthread).
The 9c script used to have a variable called ngflags, which
was ccflags except -g (ng stood for "no g"), but nothing needs
it split out anymore, so simplify to just ccflags.
|
|
Found by ASAN.
|