Commit Graph

8173 Commits

Author SHA1 Message Date
nathanw 16612d0814 * Use a <= comparison rather than a < comparison when searching for
alarms to process.

* Remove a redundant assignment.

* Make a debug message more consistent with the others.
2003-03-11 00:18:36 +00:00
nathanw 37c11910ec Re-enable nanosleep(); kernel bug is squished (kern_time.c:1.67). 2003-03-10 22:16:36 +00:00
christos 80a839beda don't use the path for awk 2003-03-10 21:21:10 +00:00
tshiozak 4f31053655 rename _CTYPE_x to _RUNETYPE_x for avoiding compile error on FreeBSD. 2003-03-10 21:18:50 +00:00
christos 687b5d51e3 s/u_int32_t/unsigned int/ 2003-03-10 21:18:49 +00:00
tshiozak 8328c33b65 rename _CTYPE_x to _RUNETYPE_x for avoiding compile error on FreeBSD. 2003-03-10 21:18:48 +00:00
tshiozak 75e29ba505 some changes around mklocale:
- clean up cpp directives.
- stop including rune.h from mklocale.
- stop using _BSD_RUNE_T macro.  instead, use int32_t directly in runetype.h.
- move _DEFAULT_INVALID_RUNE to runetype.h.
These were for historical reason on porting rune from FreeBSD,
but it seems that these are no longer reasonable but troublesome
under the current NetBSD build system.
additionally:
- runetype.h -> locale/runetype.h in mklocale, because this might conflict
  to FreeBSD's one.
2003-03-10 20:41:29 +00:00
dsl 25456aecdb Put the __weak_extern() back inside vi_alias, but after the extern for
get_alias_text().
2003-03-10 11:09:25 +00:00
he d5428a2906 Move the __weak_extern() (ifdef'ed) outside of the vi_alias()
function, so that this compiles again.
2003-03-10 09:55:10 +00:00
christos 1d6595e599 null is not 0 2003-03-10 01:14:54 +00:00
christos 2ffae6453d if no __weak_extern, don't even try to do vi_alias. 2003-03-10 01:14:07 +00:00
christos 61c24e2c2a fix uninitialized variable.
grr, I want gcc-3.3
2003-03-10 01:05:12 +00:00
christos 5f1f221c24 sig_t is non portable 2003-03-10 00:58:05 +00:00
christos 23dbd749a2 - include cdefs.h early in the game
- ifdef notdef the sunos stuff
- no need for sig_t
2003-03-10 00:57:38 +00:00
christos bdc91aaf9a include alloca.h for systems that need it. 2003-03-10 00:56:38 +00:00
lukem 8bf240ccae use __RCSID() 2003-03-09 01:03:54 +00:00
lukem 2c76065bf9 enable __RCSID() (no need to protect in LIBC_SCCS or !__lint) 2003-03-09 01:02:34 +00:00
lukem a2ed7b2d73 use __RCSID() 2003-03-09 00:57:17 +00:00
lukem edec83ad56 add -DLIBC_SCCS, to enable RCSIDs in the reachover files from ../libc 2003-03-09 00:54:44 +00:00
lukem ca2cd8e0ef use __RCSID() 2003-03-09 00:42:56 +00:00
lukem d8c1106869 add __RCSID() 2003-03-08 09:53:45 +00:00
lukem f043c0fb57 add __RCSID() 2003-03-08 08:03:34 +00:00
lukem e2d7870626 add RCSID 2003-03-08 07:42:33 +00:00
tshiozak 5abc4b4f43 add fgetws() and fputws() (lib/20576).
Note: fgetws.c, fgetws.3, fputws.c and fputws.3 are obtained from FreeBSD,
and fitted by sigsegv@infoseek.jp and me.
2003-03-07 07:11:35 +00:00
tshiozak e16e5eebd3 add original FreeBSD RCS ID.
NOTE: these files were obtained from FreeBSD and fitted for NetBSD
by sigsegv@infoseek.jp.
2003-03-07 06:46:38 +00:00
thorpej 65d8e7315e HW_PHYSPAGES -> HW_PHYSMEM64, HW_USERPAGES -> HW_USERMEM64. 2003-03-06 20:39:08 +00:00
tshiozak 326ed36874 changes related to lib/20576 and lib/20577.
- add wcstok() and wcswcs(),
  - add wcstok(3),
  - move btowc() and wctob() into each ctype modules,
  - bump ctype interface ABI version,
  - bump i18n modules' minor and
  - update sets.
and fix a stupid bug in _RUNE_ISCACHED macro.
2003-03-05 20:18:14 +00:00
groo d5953564e9 Remove the HAS_* ifdefs which select [v]s{,n}printf. Always choose the
n version.
2003-03-05 02:20:19 +00:00
christos 4b0ce4e260 fix for potential buffer overflow in snprintf() (from OpenBSD) 2003-03-05 01:15:48 +00:00
nathanw f60f35f3ab Don't acquire __environ_lock around exec*() calls; nothing requires
that these calls be thread-safe with respect to the environment, and it
causes serious problems for threaded applications which call vfork() and
exec*() (including indirectly, via popen() or system()).

Acquire and release __environ_lock in the parent in popen() and system() to
play safe and provide the child with a stable environment.

__environ_lock should also have an atfork() handler; still under development.
2003-03-04 19:44:09 +00:00
christos aa229efdc3 Avoid memory leak. Pointed out by Patrick Latifi <patrickl at secureops dot com> 2003-03-04 18:30:58 +00:00
thorpej 65ec6ba6e7 Fix lib/20558:
A dynamically linked program invokes the rtld cleanup routine via
an atexit handler.  This rtld cleanup routine invokes _fini() for
shared libraries, which in-turn invoke __cxa_finalize() with their
DSO handle.  By luck, this happens to work okay for non-threaded
programs, but for a threaded program, this leads to deadlock (sometimes
manifested as an assertion failure, if the program didn't actually
create any threads).

Fixed by teaching __cxa_finalize() that it can be recursively invoked,
adjusting the handler list manipulation accordingly.
2003-03-04 18:09:48 +00:00
yamt 4ff37a4920 no point to compare wint_t and EOF. 2003-03-04 15:09:54 +00:00
yamt da2254b6db iswctype: return 0 if charclass is 0. 2003-03-04 15:05:57 +00:00
yamt 36c89d3a8a wctob returns EOF, not WEOF. 2003-03-04 13:27:12 +00:00
tshiozak 188f0525a0 add manual pages for iswctype(), towctrans(), wctype() and wctrans(). 2003-03-04 12:11:49 +00:00
tshiozak ca7b6ea6df add #include <string.h> for memset(). 2003-03-04 10:35:31 +00:00
tshiozak 76c65c8cdb fix a latent bug; host structure was mistaken for file structure.
my latest changes actualize it on ISO8859-x locales.
2003-03-04 08:49:15 +00:00
dsl 661e3f71df Describe use of -ve window sizes 2003-03-03 14:21:12 +00:00
tshiozak 498e0550aa use UINT32_C and PRIu32 macros instead of 0x...U and %u. 2003-03-03 08:49:15 +00:00
tshiozak 25563583a2 - add btowc.3 / wctob.3.
- fix an unappropriate comment in wctob.c
2003-03-03 08:24:58 +00:00
tshiozak 5af70bc478 - add wctob() function. (I forgot it at the last commit.)
- fix btowc(); I quite misunderstood about it.
2003-03-03 07:39:53 +00:00
wiz 7958a68a71 Grammar improvements and some minor mdoc fixes. 2003-03-03 07:00:57 +00:00
wiz 2b942861aa Drop trailing space, mark up NULL with .Dv, break
lines and add section to an xref.
2003-03-03 06:45:18 +00:00
tshiozak deb0dba1bc make sure rune.c to be compiled under WARNS=2. 2003-03-03 06:33:38 +00:00
tshiozak 2c939c89e2 bump minor to 96 for some I18N functions addition. 2003-03-02 22:21:15 +00:00
tshiozak 31e2cbf0b5 add some ISO C 1995 I18N functions and types:
btowc, wctrans, towctrans, wcscoll, wcsxfrm, wctype_t and wctrans_t.
2003-03-02 22:18:11 +00:00
jmmv d1855421e5 Add missing .Pp 2003-03-02 14:41:11 +00:00
enami eafd20b336 Fix realloc usage. 2003-03-02 14:17:07 +00:00
enami 70f9e35f63 s/indentifier/identifier/ 2003-03-02 14:10:49 +00:00
jmmv 5d93e695b8 Grammar fix in return values section. 2003-03-02 14:08:24 +00:00
enami 1b1f503d7a Cosmetic changes in sample code. 2003-03-02 14:02:35 +00:00
matt 0b61283edc Add #include <stdlib.h> for exit definition. 2003-03-01 22:11:40 +00:00
bjh21 22ebd2b34b Add _Exit(), for C99 and POSIX-2001.
Proposed on tech-userlevel to a resounding silence in April last year.
2003-03-01 15:59:02 +00:00
scw 65e4a59445 Don't use FP instructions when building for m68010. Fixes broken sun2 build.
G/C some unused code.
2003-03-01 11:51:59 +00:00
lukem b1c71074fa Add workaround for building with ${MACHINE}==sparc64, ${MACHINE_ARCH}==sparc;
symlink the appropriate machine & sparc include directories into the objdir.

XXX: this is necessary until (when?) the sparc Arch Dependent headers
(used by MACHINE_ARCH==sparc) are separated from the sparc Machine
Dependent headeres (used by MACHINE==sparc but not MACHINE==sparc64).
2003-03-01 06:10:39 +00:00
atatat 40f3045957 Add p_svuid and p_svgid to kinfo_proc2. Populate them in the kernel
and in libkvm.  Then teach ps how to show them to you.

Also, teach ps how to show the names for all the uids, the rest of the
group numbers, and the "group access list".
2003-03-01 05:41:55 +00:00
thorpej 3cdf0a27ee Document net.inet.tcp.init_win_local. 2003-03-01 04:43:42 +00:00
thorpej 26be93fa6f Rewrite atexit(3), and add support for __cxa_atexit()/__cxa_finalize(),
as specified by the C++ ABI for Itanium.  Despite the ABI document's name,
many of the items in it are implemented for other architectures.

See the following URL for a reference:

	http://www.codesourcery.com/cxx-abi/abi.html#dso-dtor

Fixes lib/18379 (from Joel Baker).
2003-03-01 04:19:37 +00:00
nathanw a4314c450c Disable userlevel nanosleep() until I find the timer/alarm bug that it
is tickling.
2003-02-28 18:37:44 +00:00
lha c2d825cbda If pthreads hasn't started yet when calling sigsuspend, use the systemcall 2003-02-28 17:30:07 +00:00
jmmv 656722d549 .fn -> .Fn 2003-02-27 20:03:30 +00:00
thorpej b4271997ce Document hw.physpages and hw.userpages. 2003-02-27 01:42:10 +00:00
nathanw 0e0a0e7f51 Add hooks to read the application-assigned name of a thread. 2003-02-27 00:54:07 +00:00
nathanw 508a50ac15 In pthread_create(), rearrange name-setting code so that name is set
to NULL when the attribute structure does not have a private field
allocated.
2003-02-26 23:41:01 +00:00
enami b7577d634c Use _kvm_freeprocs() rather than free() so that kvm_close() won't
free already free'ed region.
2003-02-26 23:05:53 +00:00
enami 30fca248b5 Cosmetic changes. 2003-02-26 23:04:37 +00:00
thorpej b33971b9c3 Add support for naming a thread, using an API compatible with Tru64 Unix:
* pthread_attr_getname_np()
* pthread_attr_setname_np()
* pthread_getname_np()
* pthread_setname_np()

In addition to being query'able by the application (for log messages, etc.),
it is intended that these names can show up in the debugger.

Reviewed by nathanw.
2003-02-26 22:02:48 +00:00
christos ea5d0d4403 keep track if we have the file opened as readonly or readwrite, so that
we don't need to call update_utmp, if our euid has changed, but we still
have a write reference to the file. Solves problem with chrooting processes.
2003-02-26 19:23:25 +00:00
wiz 990562bfef .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
2003-02-25 10:34:36 +00:00
nathanw 66fcc1ce38 In pthread_exit(), clear pt_canceled in addition to setting
PT_FLAG_CS_DISABLED in pt_flags.

Prevents cancellation cleanup handlers from thinking that they've been
canceled and exiting mid-handler. Problem spotted by Matt Thomas.
2003-02-22 00:53:29 +00:00
matt 88dc468feb Fix some assembly botches. 2003-02-21 06:40:47 +00:00
dsl d75ec8181e Fix resize of windows with subwins.
Let window size be given as a -ver number => lines from bottom.
Fix trace calls of pointers
(approved by Brett Lumn)
2003-02-17 11:07:19 +00:00
simonb 118763056a Fix a tyop in a comment. 2003-02-17 00:11:54 +00:00
wiz b3ee4720f5 Use strlcpy, not strcpy, in one more place. From deraadt. 2003-02-16 16:21:59 +00:00
tron c05c218b69 After "sys/event.h" was fixed "sys/types.h" doesn't need to be included
manually any more.
2003-02-16 09:52:40 +00:00
elric 16c5a7dd8d Reorganise the getting of grouplists for a user so that Hesiod (and
potentially other name services) can directly query for a user's
grouplist rather than needing to iterate over the group map.  This
is required for correct operation of Hesiod.

Reviewed by: lukem, christos
Addresses PR lib/20183
2003-02-16 01:22:44 +00:00
nathanw 6aab0806c8 Implement nanosleep() at userlevel. Threaded applications seem to like
to sleep a lot, and there's no need for each such thread to consume kernel
resources.

(accidentally checked the pthread.c part of this in yesterday; no reason
 not to finish the job)
2003-02-15 22:15:50 +00:00
jdolecek e6781abf3f interposition sigtimedwait() with a thread-aware version, which uses
single proxy thread to do the actual syscall, and blocks other threads
in userland
2003-02-15 21:18:59 +00:00
jdolecek af3d346a8c add POSIX sigtimedwait(), sigwaitinfo(), sigwait() - wait for queued signals
note these are for non-threaded programs only - libpthread will provide
it's own thread-aware wrapper
2003-02-15 21:11:47 +00:00
nathanw ca0eaa6f66 Remove unused #include <assert.h> 2003-02-15 04:39:16 +00:00
nathanw 6adb81d685 Move debug toggle to pthread_debug.h. 2003-02-15 04:38:58 +00:00
nathanw de9d8cde2a Remove debug toggle and add debug counter for signals and broadcasts
that actually wake another thread up.
2003-02-15 04:38:33 +00:00
nathanw 53827081be Adapt to pthread__assert() and remove local debug toggle. 2003-02-15 04:37:04 +00:00
nathanw 8bcff70bb0 Define a pthread-specific assert function, pthread__assert(), that
bails out without trying to flush stdio buffers.
2003-02-15 04:34:40 +00:00
nathanw e0ae1bd1b7 Move module-specific debugging definitions here. 2003-02-15 04:33:45 +00:00
nathanw 515d60d00c Remove unnecessary inclusion of <assert.h>. 2003-02-15 00:52:18 +00:00
grant 104b35fe93 'NetBSD.org' and some mdoc fixes. 2003-02-14 16:29:11 +00:00
bouyer a39a98c45d Implement rquota RPC version 2, compatible with the linux implementation,
as proposed on tech-userlevel on Dec 06 2002. This allows to retrieve
group quota informations from NFS servers.
2003-02-14 14:55:58 +00:00
petrov 2bb9ea7350 strcmp needs string.h. 2003-02-14 04:03:27 +00:00
jdolecek 481fdf60df for WEAKSM list, use leading tab, rather than spaces on the continuation lines 2003-02-13 14:29:04 +00:00
nathanw 817925442c Add pthread_atfork() man page. 2003-02-13 03:00:51 +00:00
nathanw 4fb740b8de Implement pthread_atfork() (in libc, because the required threadlib
stub behavior is exactly the same as the usual behavior).
2003-02-13 02:50:48 +00:00
wiz 4cc7cdbc5c New sentence, new line; bump date for last change. 2003-02-12 18:58:50 +00:00
wiz d4ec441ada New sentence, new line; bump date for latest changes; mark LC_* up
consistently.
2003-02-12 18:57:27 +00:00
wiz 4f38f23550 Bump date for last changes, and add some dots. 2003-02-12 18:52:12 +00:00
gmcgarry b4ed1bd48a Add Xref to nls(7). 2003-02-12 02:51:23 +00:00
gmcgarry 1b19306f26 Add Xrefs and some editorial comments on the interface. 2003-02-12 02:50:52 +00:00
gmcgarry 9cb61837ed Add some examples and Xrefs. 2003-02-12 02:48:59 +00:00
gmcgarry 5d7934424a Add some more details. 2003-02-12 02:46:57 +00:00
dsl f7a8d65f01 resize subwindows when a window is resized, otherwise the subwin has
pointers into the ether.
(approved by christos)
2003-02-10 23:24:27 +00:00
wiz 5693d445c1 Drop trailing whitespace. 2003-02-10 15:31:08 +00:00
fvdl 59f9830997 Continue at the plain switch return point in pthread__switch, not the
locked one, in the !PIC case. From Tor Egge via Havard Eidnes.
2003-02-10 11:09:33 +00:00
itohy ca348cd671 Use definition in "namespace.h" to rename functions, not home grown. 2003-02-08 07:27:51 +00:00
simonb e32d091ca8 Fix a tyop in a comment. 2003-02-08 04:01:53 +00:00
cgd 57daa57e46 * fix handling of invalid arguments (was jumping to wrong label!)
(found by... running the regress test!)
* clean up punctuation.
* create a proper frame for the child fn that follows the o32 calling
  conventions.  In particular, leave 4 stack slots that the child
  fn can write on, put the GP above them, and invoke .cprestore
  properly in light of the child fn arg area.  (realized it was a
  problem upon inspection, verified using the regress test compiled
  -O0.)
2003-02-08 00:28:25 +00:00
cgd 351f7a02f1 looks like nobody ever seriously tried the _REENTRANT version of this
code (which, uh, seems the default for a fresh build)...  it wasn't
setting up v1 properly (the instruction to set up v1 was after the
return jump, in "reorder" code...  i.e.  after the end of the function).
That would break error returns from 64-bit syscalls (e.g. checks
in dd and who knows what else) to see if input or output are pipes.
It looks like the non-_REENTRANT version was broken (on the nathanw-sa
branch) in rev 1.9.2.1 and fixed in 1.9.2.2, but the _REENTRANT version
was never fixed, and the broken bits were merged back on to the trunk.
2003-02-07 20:35:05 +00:00
petrov 12784e54c3 Correct unsigned to float conversions, add license, adjust style. 2003-02-06 20:23:35 +00:00
jdolecek ef9eed1dac pthread_kill() was implemented, remove from list
pthread_cond_timedwait() now works even before SA initialization, but some
other routines do not; update the paragraph for this
2003-02-06 09:55:47 +00:00
kleink d58cfc7d35 Sprinkle some restrict. 2003-02-05 23:13:07 +00:00
gmcgarry 0d72c02993 Xref gencat(1) 2003-02-05 05:05:50 +00:00
perry 1f4ad37fe3 "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
2003-02-05 00:02:24 +00:00
perry 8a49ec08e4 "Utilize" has exactly the same meaning as "use," but it is more
difficult to read and understand. Most manuals of English style
therefore say that you should use "use".
2003-02-04 23:07:28 +00:00
jdolecek 9cac4b3f36 minor whitespace changes 2003-02-04 20:14:10 +00:00
jdolecek d644334729 update copyright dates and .Dd 2003-02-04 09:07:20 +00:00
jdolecek ebec5a4dfb Introduce EVFILT_TIMER, which allows a process to establish an
arbitrary number of timers, both oneshot and periodic.

from FreeBSD
2003-02-04 09:05:42 +00:00
elric 1b4eceb53f When looking up gids with hesiod, use the gid map and fall back to the
group map.

Addresses PR lib/20145
2003-02-03 04:22:20 +00:00
kleink 71d7654509 Add sysconf(3) knobs for recent additions. 2003-02-02 20:33:05 +00:00
jdc ea7837ba99 Redo the conflict calculation (again).
Assume that "me" clears all attributes apart from acs.
Problem noticed when working on window(1).
2003-02-02 17:54:38 +00:00
jdc 60f7009432 I was slightly too agressive removing clearok() in revision 1.8.
Add back a clearok(stdscr) for terminals where the startup sequence
doesn't clear the screen.
2003-02-02 17:52:29 +00:00
christos 45103cd2c0 delint (unsigned long long) -> (unsigned long) casts. 2003-02-02 02:29:59 +00:00
christos acc1cc5b41 undo mallocvar.h change! 2003-02-02 02:25:50 +00:00
tron edb9087c05 Include "sys/mallocvar.h" with "_KERNEL" defined in time to avoid
build failure because MALLOC_DECLARE() is not defined.
2003-02-01 21:12:25 +00:00
tron 6b521c7489 Fix build problem by rearranging the order of "#include" statements so
that "sys/mallocvar.h" gets include while "_KERNEL" is defined.
2003-02-01 17:22:44 +00:00
martin 912ab5ad59 Check how the compiler expects the return value of this function
by testing SOFTFLOATSPARC64_FOR_GCC.

Should fix PR port-sparc64/20140.
2003-02-01 09:19:58 +00:00
nathanw 34c915eb3d Revert the conversion to libpthread's recursive mutexes. Too much
trouble is caused by the memory allocation in the mutex initialization,
and uncontested mutexes and condition variables have become faster in the
meantime.
2003-02-01 03:25:00 +00:00
nathanw 947e41dfa9 Arrange to pause for a while if pthread_cond_wait() or
pthread_cond_timedwait() is called before any threads have been
created and the SA infrastructure is up and running.

Addresses PR lib/20139.

XXX probably need to do this for all of the pthread_*_timedlock()
functions, too.
2003-02-01 00:57:31 +00:00
jdolecek 6034a0fc70 use right function name in HISOTRY, this is not _lwp_create(2) 2003-01-31 22:06:45 +00:00
uwe 4eb408dcd9 Avoid cgetcap &co prototypes conflicting with those provided by the host.
With this change we can cross-compile on FreeBSD 4.x.
2003-01-31 20:50:29 +00:00
tron 8cf036775b Add a missing bracket to make this compile. 2003-01-31 12:27:19 +00:00
pk 453f6b99a3 Include <sys/types.h>
Remove v9 register defs.
2003-01-31 12:06:27 +00:00
nathanw 96b5a26db2 Use pthread__sched_sleepers() instead of iterating over sleep queues
ourself.
2003-01-31 04:59:40 +00:00
nathanw 029982e17b Add a new internal function, pthread__sched_sleepers(), which iterates
over a sleep queue and puts everything on the run queue. This permits
the iteration to be inside the acquisition of the run queue spinlock,
avoiding repetitive acquire/release cycles.
2003-01-31 04:58:57 +00:00
nathanw 69367db47f Do a similar tuneup on pthread_cond_signal() and
pthread_cond_broadcast(): use double-checked locking to avoid
pthread__self() and pthread_spinlock() when signaling or broadcasting
on a condition variable with no waiters.
2003-01-31 04:26:50 +00:00
nathanw 6cca91fc86 Mutex tuneup.
* Use a double-checked locking technique to avoid taking
   the interlock in pthread_mutex_unlock().

 * In pthread_mutex_lock() and pthread_mutex_trylock(), only store the
   stack pointer, not the thread ID, in ptm_owner. Do the translation
   to a thread ID in the slow-lock, errorcheck, and recursive mutex
   cases rather than in the common path.

 * Juggle where pthread__self() is called, to move it out of the fast path.

Overall, this means that neither pthread_self() nor
pthread_spin[un]lock() are used in the course of locking and unlocking
an uncontested mutex. Speeds up the fast path by 40-50%, and
eliminates about 98% of spinlocks used by a couple of large threaded
applications.

(Still a GET_MUTEX_PRIVATE() in the fast path... perhaps the type
should be in the main body of the mutex).
2003-01-31 02:55:00 +00:00
fvdl 1627b9c342 libpthread support for x86_64. 2003-01-30 02:10:31 +00:00
fvdl 894bd3ad9d Add ucontext glue for x86_64. 2003-01-30 02:07:30 +00:00
nathanw f66d2f37f7 More rototilling:
* Implement pthread_kill().

  * Return the old thread mask, not the old process mask, in our
    interpositioned sigaction call.

  * Refer to _NSIG, not NSIG.

  * Gut pthread_sigmask(). It was handling a lot of corner cases that
    weren't legal anyway. Handle unblocked signals with a new
    pthread__kill_self() routine (also used by pthread_kill()).

  * Be more consistent with locking around pt_sigacts[].
2003-01-30 01:12:42 +00:00
nathanw a8773f45f8 Simplify pthread__upcall() a bit by moving lock resolution before the big
switch statement, and moving upcall-type-specific code into that switch.
Beneficial side effect: don't manipulate a statelock before lock resolution
occurs.
2003-01-30 01:04:50 +00:00
nathanw 7d8ac1f6c2 Set a thread's state to RUNNABLE when yielding. 2003-01-30 01:00:58 +00:00
heinz 077e910e6d Provide some more details for papers by Bentley/M.D. McIlroy and by
P.M. McIlroy (after short e-mail conversation with M.D. McIlroy on
www@).
2003-01-29 22:12:53 +00:00
drochner e81f9f1784 cosmetics 2003-01-29 14:03:08 +00:00
wiz 9115df8c49 success, not sucess. Noted by mjl. 2003-01-28 22:35:02 +00:00
jdolecek 5e8bddc2e7 __sigaction14(): sanity check 'sig' before use, same way as sigaction1()
in kernel
2003-01-28 21:04:37 +00:00
wiz 9804cdc7fc a, b, and c. 2003-01-28 20:33:25 +00:00
kleink 5b62d84e6e Add a manual page for flockfile(3) etc.; while here, also add *_unlocked()
to stdio(3) overview documentation.  Fixes PR lib/20096 from Jason Thorpe.
2003-01-28 20:26:04 +00:00
thorpej 2dcac9e4eb Make the generated .S files depend on ${.CURDIR}/sys/Makefile.inc. 2003-01-28 00:33:23 +00:00
jdc 6e91e33032 Increment the minor version (from 5 to 6) for the addition of
can_change_color() and no_color_video().
Add a note of things to change when the major version is incremented.
2003-01-27 21:14:33 +00:00
jdc ec51d5cc4b Change the way we calculate conflicts when turning off attributes.
We now check the termcap entries for "\E[m" or "\E[0m" or a longer
"\E[ ... m" sequence containing a "0".
2003-01-27 21:12:29 +00:00
jdc 8ca56fe956 Check for conflict between colour and other attributes. The previous
checks when adding attributes could be inadequate if background colours
were later added to a window.
2003-01-27 21:11:12 +00:00
jdc 2d83114a86 ARemove (no longer used) __nca. 2003-01-27 21:09:20 +00:00
jdc e46d737f27 Add can_change_color() and no_color_video(). 2003-01-27 21:08:09 +00:00
jdc a3ce96fb84 Rename can_change_colors() to can_change_color().
Add can_change_colors() (that just calls can_change_color()).
Add no_color_video().
Replace __nca with _cursesi_screen->nca.
2003-01-27 21:06:16 +00:00
jdc f62975e655 Remove check for attribute/colour conflict.
This is now handled in refresh.c as it's not possible to handle the
conflict with background colour here.
2003-01-27 21:04:10 +00:00
jdc 1482f4ac4b Rename can_change_colors() to can_change_color().
Add no_color_video().
2003-01-27 21:03:04 +00:00
nathanw 6505a5330c Add debug counters for mutex and condvar operations. 2003-01-27 21:01:00 +00:00
nathanw 05a755440a Add cancellation stubs for accept() and connect(). 2003-01-27 20:57:41 +00:00
fvdl 161423ddca Reset in_reclen and in_received after having received a full record in
the nonblocking case.
2003-01-27 20:56:45 +00:00
nathanw c316063660 Move accept and connect stubs to WEAKASM so that they can be overridden. 2003-01-27 20:55:56 +00:00
nathanw ee45767b84 printf format fixes. 2003-01-27 20:54:26 +00:00
kleink 326194c69f Update stack frame allocation for XMM state having been added to
mcontext_t; spotted by Frank van der Linden.
While here, also align the on-stack ucontext as required.
2003-01-26 18:14:03 +00:00
kleink 9b24979426 Fix comment typo, and convert to C-style comments. 2003-01-26 17:58:55 +00:00
fvdl 75b44dbf11 Fix comment that wasn't closed because of a typo (but harmless, since followed
by another comment).
2003-01-26 16:22:01 +00:00
fvdl 3a79855417 Fix wrong %esp fixup. 2003-01-26 15:54:35 +00:00
nathanw 9ff1e2d385 Make pthread_barrier_wait() handle spurious wakeups from pthread__block()
by adding a generation number to the barrier structure and incrementing it
when the barrier fires.

XXX this is an ABI change for anything using barriers, but the library is
new enough and nothing in the tree uses barriers so I'm going to let it
slide. Using the private data pointer for a field that will always be present
would be excessive.
2003-01-25 00:47:05 +00:00
nathanw fe8e8dad4a More signal rearranging:
- Signal handlers now simply continue executing the current thread,
   rather than trying to put themselves back on the queue that they came
   from, which was rather fragile. As a result, all callers of
   pthread__block() must be prepared to handle spurious wakeups.

 - When a signal arrives for a thread that is blocked in the kernel,
   note this in another field in pthread_st and set a flag. Process the
   signal and set up the trampoline for the handler *after* the thread
   unblocks, so that both the trampoline and the returned state from
   the kernel are preserved.

 - Factor out some code into a pthread__deliver_signal() routine;
   the signal-taking code in pthread_sigmask() should be able to use this
   soon.

This is still gross, and there are still some terrible MP issues lurking here,
but progress crawls along.
2003-01-25 00:43:38 +00:00
nathanw 564fe117cc Make pthread_join() accomodate spurious wakeups from pthread__block(). 2003-01-25 00:37:01 +00:00
fvdl a3ff3a3038 Bump daddr_t to 64 bits. Replace it with int32_t in all places where
it was used on-disk, so that on-disk formats remain the same.
Remove ufs_daddr_t and ufs_lbn_t for the time being.
2003-01-24 21:55:02 +00:00
jdolecek 254ff213ae unlock pt_statelock _after_ changing pt_state, not before
problem found and fix suggested by Nick Hudson
2003-01-24 17:43:45 +00:00
thorpej c04d6591c0 Correct omission in notice. 2003-01-24 01:54:02 +00:00
thorpej c184191ce3 p1003.1b semaphore manual pages have been moved to librt. 2003-01-24 01:53:27 +00:00
thorpej 37946878c4 Add librt, which provides POSIX 1003.1b Real-time extensions not
present in libc.  Currently includes 1003.1b semaphores.
2003-01-24 01:52:42 +00:00
matt 61687fc220 Add the *context.? sources to SRCS.
Make getcontext _getcontext and add a getcontext weak alias.
2003-01-23 23:56:13 +00:00
thorpej 1b4d724c8e sem_init(): oops, only destroy the ksem on error if it is a ksem. 2003-01-22 23:18:06 +00:00
thorpej c151b13c1f Rewrite to use our internal scheduling primitives. 2003-01-22 22:51:42 +00:00
kleink 35a8bdf8fa While we're here, document EPERM. 2003-01-22 15:28:37 +00:00
kleink 75adcdd6f1 Add a STANDARDS section; requested by Thomas Klausner. 2003-01-22 15:24:03 +00:00
scw b5ca8aee09 Yay! Working pthreads for sh5. 2003-01-22 13:52:48 +00:00
scw 04c6e0b141 pthread__lock_ras_start and pthread__lock_ras_end need to be declared
as function pointers, not character arrays, for the benefit of
platforms (e.g. SH5) where the two types are quite distinct.
2003-01-22 13:52:03 +00:00
scw 5f7bdeae84 Need to include <string.h> for memcmp() prototype. 2003-01-22 13:49:14 +00:00
scw aa338c0862 Now make these actually work. 2003-01-22 13:44:36 +00:00
nathanw dc651e62df Don't bother acquiring the tsd_lock and reading the destructor function
if the corresponding TSD entry is empty.

Cuts down lock/unlock pairs for this operation from 256 to the number
of active TSD entries; sicne this is done when every thread exits, it saves
many total lock/unlock pairs.
2003-01-21 23:29:22 +00:00
nathanw 6003a24dd4 Use recursive mutexes from libpthread rather than implementing
our own with normal mutexes and condition variables.
2003-01-21 23:26:02 +00:00
wiz 831ba492c3 Replace -1 with \-1 for PostScript output; drop a trailing space and fix two typos. 2003-01-21 23:00:56 +00:00
kleink 8b314175ec Add ns32k ucontext userland portions. Untested, but compiled in the
recent past and presumed working.
2003-01-21 21:03:25 +00:00
kleink 7a9f64971b Add swapcontext() lint stub. 2003-01-21 20:26:10 +00:00
kleink cd9f53e12c Add swapcontext() lint stub. 2003-01-21 20:14:07 +00:00
kleink a26c2fe5e2 A function wrapper cannot be used for getcontext(), so error out
if neither weak aliases nor indirect references are available.
2003-01-21 19:15:05 +00:00
christos f24857bf36 Add a uniquefier for the history function. 2003-01-21 18:40:23 +00:00
christos 98e93eb66e fix directory descriptor leak [from michael at moria dot de] 2003-01-21 17:41:38 +00:00
wiz 9b5abffe9d Add makecontext(3) from Klaus Klein. 2003-01-21 12:39:08 +00:00
wiz ab206b65a6 New sentence, new line. 2003-01-21 11:48:03 +00:00
wiz 2caa76989f Replace -1 with \-1. 2003-01-21 11:47:32 +00:00
scw ff288f9424 Make these compile. 2003-01-21 11:31:38 +00:00
scw 980dea552e Add _UC_USER_BIT. 2003-01-21 11:30:52 +00:00
scw fd2dcace1f Make these compile. 2003-01-21 11:29:29 +00:00
jdolecek 69371cb504 .Rv needs a function name as parameter 2003-01-21 03:33:30 +00:00
christos 3bcbc56f02 add manual pages. 2003-01-21 02:24:41 +00:00
scw 9566978c66 First cut of MD pthread glue for sh5. 2003-01-21 00:34:56 +00:00
christos 4e5f58dd38 more sem to _sem_st 2003-01-20 20:52:24 +00:00
christos 90135cf7e8 add support for p1003.1b semaphores. From FreeBSD 2003-01-20 20:10:19 +00:00
scw 11e9fa3a9b Initialise the FPSCR to a sane value. 2003-01-20 20:09:59 +00:00
christos 111839200d Add _ksem stubs. 2003-01-20 20:09:27 +00:00
scw b896a7171e _{get,set,swap}context_u() for SH5. 2003-01-20 17:03:58 +00:00
dsl c673281c37 Fix lib/17248 properly
'ls -l-' now reports unknown option -- -
'env -' and 'su -' both work ok
(change approved by christos)
2003-01-20 09:06:35 +00:00
simonb d7b879c6ec Grrr. So much for my ability to use grep(1) effectively. Pointed out
by Stephen Degler in private mail.
2003-01-20 07:12:12 +00:00
simonb 276fd1665c The Double-Semi-Colon Police. 2003-01-20 05:29:53 +00:00
thorpej d504e2bb9c Simple TSD implementation, since some thread-safe libraries want
to use it.
2003-01-20 01:58:54 +00:00
matt 3afb199f73 Define FPREG macros even though we don't have any. 2003-01-20 01:49:36 +00:00
thorpej 71b91cf442 Make thr_self() not return NULL. 2003-01-20 01:30:15 +00:00
matt d36a12c9ca Add myself to the authors list. 2003-01-20 01:08:03 +00:00
matt fb891b41f5 Add _REG_foo to ppc mcontext and use them instead of constants. 2003-01-20 00:53:55 +00:00
thorpej c7e237f26a Merge the nathanw_sa branch. 2003-01-20 00:26:39 +00:00
matt 21375ddf92 Make sure r0 in the saved context is 0. 2003-01-20 00:24:07 +00:00
matt 94face2f9c Use _ALIGN_TEXT.
Make sure R0 is 0 in the saved context.
2003-01-20 00:18:06 +00:00
kleink 13a5336c66 Move getcontext.S from gen to sys, where it belongs. 2003-01-19 23:49:12 +00:00
wiz fc8bb2b92f End sentence with a dot. 2003-01-19 23:32:33 +00:00
matt aa6dda7b98 Need to define STACKSIZE (even though we don't need any). 2003-01-19 23:22:29 +00:00
matt 9eecca32ca Add of pthread support for VAX. 2003-01-19 23:20:14 +00:00
scw bcbbc4f87e SH5 libc ucontext/lwp support.
Untested for now, until I get the libpthread stuff done and
an SA userland built.
2003-01-19 23:05:01 +00:00
thorpej 7dc01dbfab Add some threadlib stubs that are used by X:
* thr_create() (stub in libc aborts)
* thr_exit() (stub in libc calls exit())
* thr_yield() (stub in libc does nothing)

Also make the libc thr_self() stub not abort.

XXX Should we add thrattr_*() stubs for setting the detach-state?
2003-01-19 21:58:21 +00:00
thorpej 096005bf70 Fix typo. 2003-01-19 21:42:09 +00:00
matt 561334ea93 Set _UC_USER in ucontext. Call setcontext if _UC_USER is not in
_setcontext_u
2003-01-19 21:31:42 +00:00
atatat dd0a8acd21 The next release will be 2.0, not 1.7. 2003-01-19 21:25:36 +00:00
matt 696d424be5 VAX versions of _getcontext_u/_setcontext_u/_swapcontext_u 2003-01-19 21:01:55 +00:00
thorpej 9b29af3e07 Remove the dummy stack attr routines -- best to catch broken applications
and fix them to use the proper feature test instead (as has already been
done with the openldap package).
2003-01-19 20:58:00 +00:00
thorpej 592409d356 Add mutexattr_init(), mutexattr_destroy(), and mutexattr_settype() (recursive
mutexes are used by the X libraries).
2003-01-19 20:46:11 +00:00
jdolecek 3d8d8663b9 g/c the NEXTRELEASE comment tag now that the next version number is decided 2003-01-19 20:12:31 +00:00
thorpej 439830cb08 Always allow includes to be installed. This makes it easier for
people to get straggling ports bootstrapped (pthread.h is required
in order to build libc).
2003-01-19 19:55:13 +00:00
thorpej 036383cc03 Make the libc thr_once() stub functional. 2003-01-19 19:48:45 +00:00
skrll 023fed95bf Move _POSIX_THREADS to the right place and define a few other symbolic
constants for the features we gained with the merge of the nathanw_sa
branch.

Ok'd by thorpej.

Closes my PR 19930.
2003-01-19 19:41:44 +00:00
matt 95b5cce5c6 Add getcontext(2) stub. 2003-01-19 19:32:39 +00:00
wiz 29192bf866 Fix typo. 2003-01-19 19:31:10 +00:00
thorpej 96bb0ae126 Use <threadlib.h>. 2003-01-19 19:25:05 +00:00
wiz d44e858cbb Remove another variable name. 2003-01-19 19:21:49 +00:00
wiz 65d34efcf9 Drop trailing comma in SEE ALSO. 2003-01-19 19:15:36 +00:00
wiz 0163abbccb Bx Open -> Ox. 2003-01-19 19:14:22 +00:00
matt 8c295614ea Add the VAX versions of these. 2003-01-19 19:07:30 +00:00
dsl fa36c8783f Ignore groups beyond _SC_NGROUPS_MAX (as man page)
Ensure kernel doesn't pick up random numbers (would happen if _SC_NGROUPS_MAX
> NGROUPS)
(change agreed by christos)
2003-01-19 18:26:16 +00:00
christos f242002868 put libpthread back. I don't think that it will cause ABI issues. 2003-01-19 16:05:46 +00:00
christos 1b36c15f8d - constify the get functions
- remove argument variable names since they pollute the namespace
- add mock implementation of the missing stack functions
XXX: we need to do this right [i.e. actually get and set sizes and addresses]
but the current stack setup makes this a bit complicated.
2003-01-19 16:03:50 +00:00
christos 20efb4a2f3 disable pthread support for now, as there will be abi changes. 2003-01-19 15:30:30 +00:00
jdolecek 0b3f936d86 'destructor' is a bit too generic; use 'destruct' instead for
pthread_key_create() prototype
this fixes compilation of Python 2.2 with thread support
XXX perhaps should drop all variable names from prototypes?
2003-01-19 11:17:02 +00:00
matt bdde89628b Cast with uintptr_t instead of u_long. 2003-01-19 08:53:36 +00:00
christos 54ba9fedfe delint 2003-01-18 19:11:07 +00:00
christos 618d528679 de-lint 2003-01-18 19:10:41 +00:00
christos 9631ace572 de-lint 2003-01-18 18:40:52 +00:00
christos 3823415af9 add missing backslash 2003-01-18 18:40:08 +00:00
thorpej c7cb871964 These files are obsolete; setlogin() is now implemented in C with a
small syscall stub.
2003-01-18 18:28:44 +00:00
thorpej 9172911549 Descend into libpthread and libpthread_dbg. 2003-01-18 17:38:04 +00:00