Revision
440 -
Directory Listing
-
[select for diffs]
Modified
Sun Dec 31 09:59:48 2006 UTC
(17 years, 4 months ago)
by
laffer1
Diff to
previous 349
Add NetBSD efun(3) functions...
esetfunc, easprintf, efopen, ecalloc, emalloc, erealloc, estrdup, estrlcat, estrlcpy, evasprintf
Some code in the tree already includes this such as fsck and rcorder. This will make NetBSD code porting easier. Note our libutil uses libutil.h instead of util.h.
Revision
349 -
Directory Listing
-
[select for diffs]
Modified
Tue Dec 26 01:20:32 2006 UTC
(17 years, 4 months ago)
by
laffer1
Diff to
previous 338
Fix a typo in __fpu_ftox() that caused long double to long (and long long)
conversion of negative numbers to always result in -1.
Revision
338 -
Directory Listing
-
[select for diffs]
Modified
Mon Dec 18 23:50:50 2006 UTC
(17 years, 4 months ago)
by
laffer1
Diff to
previous 326
As discussed on freebsd-threads@freebsd.org, a libpthread bug exists that this patch by Peter Edwards Corrects.
Here is a summary:
I've a problem when a process uses:
libpthread
detached threads
mixed bound/unbound threads
suspended threads (a la pthread_resume_np())
whereby some newly created suspended threads don't get scheduled.
I think I've tracked it down, so if someone could review the
reasoning, I'd be grateful.
Newly launched threads have a "struct pthread" that may be allocated
from a freelist of GCed threads. Apparently, when detached threads
enter the GCed list, they can still have the "active" flag set on
them. Later, this causes problems when this thread is recycled and
resumed, because _thr_setrunnable_unlocked() doesn't add it to a
run queue.
thr_cleanup can be called either from the bound-threads scheduler,
or the unbound scheduler. One callsite clears "active", "needswitchout",
and "lock_switch" to zero before the call. The other callsite just
clears "check_pending". I think these flags are all either bound-thread
or unbound-thread specific, and that there was an unintended
assumption that the thread would remain with the same "boundedness"
after being recycled, which isn't neccessarily the case. (Or another
way - the idea was that there was no need to clear the "active"
flag on a bound thread, as its only used for unbound threads, but
a GCed bound thread might be recycled into an unbound thread)
Given that, it seems correct to clean up the thread the same way
for both cases, and just move that code into thr_cleanup.
Revision
314 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 30 14:50:16 2006 UTC
(17 years, 6 months ago)
by
laffer1
Diff to
previous 313
Only catch SIGINFO when LIBPTHREAD_DEBUG is defined in the environment.
Eliminate a race condition in timed waist (cv, mutex, sleeps).
Don't forget to init a TAILQ before using it.
Allocate a thread's tcb last so it is easier to handle failures to malloc() siginfo.
Include needed headers obtained through pthread.h
Obtained from FreeBSD (March 2006 MFC)
Revision
313 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 30 13:55:39 2006 UTC
(17 years, 6 months ago)
by
laffer1
Diff to
previous 311
Remove alpha references, install shared libc_r into /lib because its aliased by libpthread and some /sbin tools.
Revision
204 -
Directory Listing
-
[select for diffs]
Modified
Mon Oct 2 00:16:53 2006 UTC
(17 years, 7 months ago)
by
laffer1
Diff to
previous 202
gzio.c minigzip.c and zconf.h have changes that must be maintained during each upgrade from the vendor branch.
Revision
202 -
Directory Listing
-
[select for diffs]
Modified
Sun Oct 1 23:49:06 2006 UTC
(17 years, 7 months ago)
by
laffer1
Diff to
previous 115
This commit was generated by cvs2svn to compensate for changes in r201,
which included commits to RCS files with non-trunk default branches.
Revision
6 -
Directory Listing
-
[select for diffs]
Modified
Sat Feb 25 02:38:42 2006 UTC
(18 years, 2 months ago)
by
laffer1
Diff to
previous 3
This commit was generated by cvs2svn to compensate for changes in r5, which
included commits to RCS files with non-trunk default branches.
Revision
3 -
Directory Listing
-
[select for diffs]
Added
Sat Feb 25 02:29:52 2006 UTC
(18 years, 2 months ago)
by
laffer1
This commit was generated by cvs2svn to compensate for changes in r2, which
included commits to RCS files with non-trunk default branches.