<feed xmlns='http://www.w3.org/2005/Atom'>
<title>plan9port/src/libthread, branch patch</title>
<subtitle>Plan 9 from User Space (with patches)</subtitle>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/'/>
<entry>
<title>SunOS: silence some warnings</title>
<updated>2025-07-25T18:46:52+00:00</updated>
<author>
<name>Dan Cross</name>
<email>cross@gajendra.net</email>
</author>
<published>2025-07-25T18:45:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=b2fc88d60ad2ff4bc49ad32716879597d1a37856'/>
<id>b2fc88d60ad2ff4bc49ad32716879597d1a37856</id>
<content type='text'>
Give `-Wformat=0` on illumos/Solaris so that the build does not
complain about `execlp` not having a sentinel (it's nil).  Also
fix an integer size issue when casting to a void pointer.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Give `-Wformat=0` on illumos/Solaris so that the build does not
complain about `execlp` not having a sentinel (it's nil).  Also
fix an integer size issue when casting to a void pointer.
</pre>
</div>
</content>
</entry>
<entry>
<title>libthread: remove check for LinuxThreads</title>
<updated>2025-07-25T17:06:53+00:00</updated>
<author>
<name>Dan Cross</name>
<email>cross@gajendra.net</email>
</author>
<published>2025-07-25T17:06:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=0bc66bfb3dda9b1d7d1db266a9046705bda1cd15'/>
<id>0bc66bfb3dda9b1d7d1db266a9046705bda1cd15</id>
<content type='text'>
libthread had code in `_pthreadinit` to test for LinuxThreads,
and error if it was in use.  This hasn't been relevant since
Linux 2.6, and I can't imagine there are many people trying to
build (recent) plan9port on systems that old.

Unfortunately, this code violated aliasing rules, and compilers
were complaining about it.  But, since it likely hasn't had much
relevance in 20ish years, we can probably just remove it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
libthread had code in `_pthreadinit` to test for LinuxThreads,
and error if it was in use.  This hasn't been relevant since
Linux 2.6, and I can't imagine there are many people trying to
build (recent) plan9port on systems that old.

Unfortunately, this code violated aliasing rules, and compilers
were complaining about it.  But, since it likely hasn't had much
relevance in 20ish years, we can probably just remove it.
</pre>
</div>
</content>
</entry>
<entry>
<title>all: remove need for `-fcommon`</title>
<updated>2025-07-25T16:25:11+00:00</updated>
<author>
<name>Dan Cross</name>
<email>cross@gajendra.net</email>
</author>
<published>2025-07-23T10:47:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=156e745be9f6a1b19b0f8e2a931148786d7acad4'/>
<id>156e745be9f6a1b19b0f8e2a931148786d7acad4</id>
<content type='text'>
Use `extern` where appropriate so that we can remove `-fcommon`
on macOS and others.  On macOS, `-fcommon` generates a number of
linker warnings.

I've tested building on macOS, Linux, FreeBSD, NetBSD, OpenBSD
and illumos.  I am not in a position to test on AIX or other
more esoteric platforms, however.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use `extern` where appropriate so that we can remove `-fcommon`
on macOS and others.  On macOS, `-fcommon` generates a number of
linker warnings.

I've tested building on macOS, Linux, FreeBSD, NetBSD, OpenBSD
and illumos.  I am not in a position to test on AIX or other
more esoteric platforms, however.
</pre>
</div>
</content>
</entry>
<entry>
<title>libthread: use setpgid instead of setpgrp</title>
<updated>2021-04-22T12:44:27+00:00</updated>
<author>
<name>Anthony Sorace</name>
<email>a@9srv.net</email>
</author>
<published>2021-04-22T07:16:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=70cc6e5ba7798b315c3fb3aae19620a01604a459'/>
<id>70cc6e5ba7798b315c3fb3aae19620a01604a459</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libthread: call setpgrp in programs that will background</title>
<updated>2021-01-14T15:30:24+00:00</updated>
<author>
<name>Russ Cox</name>
<email>rsc@swtch.com</email>
</author>
<published>2021-01-14T15:30:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=52b599a63c488d3a80bb9f5dd97bad0b10103c54'/>
<id>52b599a63c488d3a80bb9f5dd97bad0b10103c54</id>
<content type='text'>
This fixes the 'run stats from rc; exit rc; stats dies' problem.
It's unclear whether this is the right fix or whether rc should
be starting all its interactive commands in their own process
groups. But at least it does fix stats dying.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes the 'run stats from rc; exit rc; stats dies' problem.
It's unclear whether this is the right fix or whether rc should
be starting all its interactive commands in their own process
groups. But at least it does fix stats dying.
</pre>
</div>
</content>
</entry>
<entry>
<title>libthread: drop schedlock</title>
<updated>2020-12-30T13:41:01+00:00</updated>
<author>
<name>Russ Cox</name>
<email>rsc@swtch.com</email>
</author>
<published>2020-12-30T13:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=91ececc99741b3111c69d455bc928e871b15d766'/>
<id>91ececc99741b3111c69d455bc928e871b15d766</id>
<content type='text'>
Having two locks in the proc was causing deadlocks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Having two locks in the proc was causing deadlocks.
</pre>
</div>
</content>
</entry>
<entry>
<title>libthread: simplify</title>
<updated>2020-12-30T12:53:28+00:00</updated>
<author>
<name>Russ Cox</name>
<email>rsc@swtch.com</email>
</author>
<published>2020-12-30T12:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=18571208068d5fe2f0bf7b4e980525a7f577c503'/>
<id>18571208068d5fe2f0bf7b4e980525a7f577c503</id>
<content type='text'>
Now that everything uses pthreads and pthreadperthread,
can delete various conditionals, all the custom context code,
and so on. Also update documents.

Fixes #355.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that everything uses pthreads and pthreadperthread,
can delete various conditionals, all the custom context code,
and so on. Also update documents.

Fixes #355.
</pre>
</div>
</content>
</entry>
<entry>
<title>libthread: make pthreadperthread the default</title>
<updated>2020-12-30T05:20:26+00:00</updated>
<author>
<name>Russ Cox</name>
<email>rsc@swtch.com</email>
</author>
<published>2020-12-30T05:16:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=e68f07d46f5f168dc2076286627279540bf1f99e'/>
<id>e68f07d46f5f168dc2076286627279540bf1f99e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libthread: fix pthreadperthread bugs</title>
<updated>2020-12-30T05:15:37+00:00</updated>
<author>
<name>Russ Cox</name>
<email>rsc@swtch.com</email>
</author>
<published>2020-12-30T05:15:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=b73633b1b4e9d3dbd680edf900b2b53befbf5a9a'/>
<id>b73633b1b4e9d3dbd680edf900b2b53befbf5a9a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>libthread: add threadmaybackground</title>
<updated>2020-12-30T05:12:14+00:00</updated>
<author>
<name>Russ Cox</name>
<email>rsc@swtch.com</email>
</author>
<published>2020-12-30T05:10:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rctt.net/plan9port/commit/?id=b3a20a96eb2b91a5b0b8a8fb506e20a2fb50ebe8'/>
<id>b3a20a96eb2b91a5b0b8a8fb506e20a2fb50ebe8</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
</feed>
