| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
for four years (since r162846).
Submitted by: Alexander Best arundel@
|
|
|
|
|
|
|
|
|
|
|
| |
currently build, they should be kept. [1]
Unbreak their makefiles by removing the support for the long gone
DEFAULT_THREAD_LIB knob. (Allows the tools/make_libdeps.sh script
to succeed.)
According to: davidxu and deischen [1]
MFC after: 3 days
|
| |
|
|
|
|
| |
Ok'd by: kan
|
|
|
|
|
|
|
| |
that would cause the selected shared threading library to be
overwritten with its 32-bit version on amd64.
PR: amd64/112509
|
|
|
|
| |
Submitted by: ru
|
|
|
|
|
|
|
|
|
|
| |
Warning, after symbol versioning is enabled, going back is not easy
(use WITHOUT_SYMVER at your own risk).
Change the default thread library to libthr.
There most likely still needs to be a version bump for at least the
thread libraries. If necessary, this will happen later.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
been bumped since RELENG_5.
Reviewed by: ru
Approved by: re (not needed for commit check but in principle...)
|
|
|
|
|
|
|
|
| |
NOINFO -> NO_INFO
NOINFOCOMPRESS -> NO_INFOCOMPRESS
NOLINT -> NO_LINT
NOPIC -> NO_PIC
NOPROFILE -> NO_PROFILE
|
|
|
|
| |
any fake value.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
thread library for i386, amd64, and ia64. For alpha
and sparc64 the library is not changed and remains libkse,
and links are installed so that libpthread -> libc_r.
The gcc -pthread option will be changed in a separate
commit so that it links to -lpthread instead of -lc_r.
Approved by: re@
|
|
|
|
|
|
|
|
| |
of each manpage lists libraries that have corresponding interfaces
implemented.
Prodded by: threads
Reviewed by: deischen
|
|
|
|
| |
Submitted by: Craig Rodrigues <rodrigc@crodrigues.org>
|
|
|
|
|
| |
Submitted by: bde
Tested by: beast
|
|
|
|
| |
add it to CFLAGS.
|
|
|
|
| |
Submitted by: bde
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_foo - wrapped system call
foo - weak definition to _foo
and for cancellation points:
_foo - wrapped system call
__foo - enter cancellation point, call _foo(), leave
cancellation point
foo - weak definition to __foo
Change use of global _thread_run to call a function to get the
currently running thread.
Make all pthread_foo functions weak definitions to _pthread_foo,
where _pthread_foo is the implementation. This allows an application
to provide its own pthread functions.
Provide slightly different versions of pthread_mutex_lock and
pthread_mutex_init so that we can tell the difference between
a libc mutex and an application mutex. Threads holding mutexes
internal to libc should never be allowed to exit, call signal
handlers, or cancel.
Approved by: -arch
|
|
|
|
|
| |
change committed to RELENG_4 where a bump there is now necessary.
We've got to go before RELENG_4 does.
|
|
|
|
| |
shaken out.
|
|
|
|
| |
Noted as missing by: nicolas.leonard@animaths.com
|
| |
|
|
|
|
| |
PR: bin/17366
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
just use _foo() <-- foo(). In the case of a libpthread that doesn't do
call conversion (such as linuxthreads and our upcoming libpthread), this
is adequate. In the case of libc_r, we still need three names, which are
now _thread_sys_foo() <-- _foo() <-- foo().
Convert all internal libc usage of: aio_suspend(), close(), fsync(), msync(),
nanosleep(), open(), fcntl(), read(), and write() to _foo() instead of foo().
Remove all internal libc usage of: creat(), pause(), sleep(), system(),
tcdrain(), wait(), and waitpid().
Make thread cancellation fully POSIX-compliant.
Suggested by: deischen
|
|
|
|
| |
PR: kern/11982
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
eischen (Daniel Eischen) added wrappers to protect against cancled
threads orphaning internal resources.
the cancelability code is still a bit fuzzy but works for test
programs of my own, OpenBSD's and some examples from ORA's books.
add readdir_r to both libc and libc_r
add some 'const' attributes to function parameters
Reviewed by: eischen, jasone
|
|
|
|
| |
Pointed out by: jdp
|
|
|
|
|
|
| |
_thread_sys_sisprocmask in libc_r. This solves the undefined symbol...
Reported by: Kenneth Wayne Culver
|
| |
|
|
|
|
|
| |
must be made default for the alpha before growable thread stacks are
enabled for the alpha.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cache discarded default thread stacks for use in subsequent thread creations.
Create a red zone at the end of each stack (including the initial thread
stack), with the hope of causing a segfault if a stack overflows.
To activate these modifications, add -D_PTHREAD_GSTACK to CFLAGS in
src/lib/libc_r/Makefile. Since the modifications depend on the VM_STACK
kernel option, I'm not sure how to safely use growable stacks by default.
Testing, as well as algorithmic and stylistic comments are welcome.
|
|
|
|
|
|
|
| |
in libc_r.
Bump the library version number (the scheduler now uses a poll syscall
instead of select).
|
| |
|
|
|
|
|
| |
so much a "fix", rather a bandaid to buy time to fix it properly
within the thread engine.
|
|
|
|
|
|
|
|
|
|
|
| |
propagates a bug (that there is no poll wrapper in libc_r), but it
prevents GNU configure scripts from trying to use it in preference
to select. libc_r really needs to change it's wait interface to use
poll instead of select because poll is more a superset of select that
the other way around.
This should allow the Roxen web server to work out-of-the-box. It's
configuration intercae is kinda neat. The code isn't. Shiver. 8-)
|
|
|
|
|
| |
lock debug into libc_r. I don't know if this is the best place to document
this, but at least it is recorded somewhere. 8-)
|
| |
|
|
|
|
| |
to wrapper them) and add a couple that should have been there.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_KPOSIX_PRIORITY_SCHEDULING options to work. Changes:
Change all "posix4" to "p1003_1b". Misnamed files are left
as "posix4" until I'm told if I can simply delete them and add
new ones;
Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;
Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;
Add options to LINT;
Minor fixes to P1003_1B code during testing.
|
|
|
|
|
|
|
|
|
|
| |
Change MACHINE references to MACHINE_ARCH.
Declare the names of the syscalls that need to be renamed to allow
for the functions that libc_r provides replacements for. This list
used to be in lib/libc/sys/Makefile.inc, but has been moved here
to keep that makefile tidy and remove the temptation for people to
add things to the list without adding a libc_r replacement function.
|
|
|
|
| |
Added Id strings too. It's useful to know who last made a change.
|
|
|
|
| |
uthreads update from the author.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here are the diffs for libc_r to get it one step closer to P1003.1c
These make most of the thread/mutex/condvar structures opaque to the
user. There are three functions which have been renamed with _np
suffixes because they are extensions to P1003.1c (I did them for JAVA,
which needs to suspend/resume threads and also start threads suspended).
I've created a new header (pthread_np.h) for the non-POSIX stuff.
The egrep tags stuff in /usr/src/lib/libc_r/Makefile that I uncommented
doesn't work. I think its best to delete it. I don't think libc_r needs
tags anyway, 'cause most of the source is in libc which does have tags.
also:
Here's the first batch of man pages for the thread functions.
The diff to /usr/src/lib/libc_r/Makefile removes some stuff that was
inherited from /usr/src/lib/libc/Makefile that should only be done with
libc.
also:
I should have sent this diff with the pthread(3) man page.
It allows people to type
make -DWANT_LIBC_R world
to get libc_r built with the rest of the world. I put this in the
pthread(3) man page. The default is still not to build libc_r.
also:
The diff attached adds a pthread(3) man page to /usr/src/share/man/man3.
The idea is that without libc_r installed, this man page will give people
enough info to know that they have to build libc_r.
|