| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
pthread_exit in main() without creating any thread.
Tessted by: deischen
|
|
|
|
|
|
|
|
|
| |
yet, so we can protect some locking code from being interrupted by signal
handling. When KSE mode is turned on, reset the thread flag to scope process
except we are running in 1:1 mode which we needn't turn it off.
Also remove some unused member variables in structure kse.
Tested by: deischen
|
| |
|
|
|
|
|
|
| |
binaries in /bin and /sbin installed in /lib. Only the versioned files
reside in /lib, the .so symlink continues to live /usr/lib so the
toolchain doesn't need to be modified.
|
| |
|
|
|
|
| |
mangling and creates an .ent directive with the mangled name.
|
| |
|
|
|
|
|
|
| |
libkse. Tested under libc_r, libkse, libthr.
Reviewed by: deischen
|
|
|
|
|
|
| |
Don't free them, so some code can still reference them.
Reviewed by: deischen
|
|
|
|
| |
a key is less than 0.
|
|
|
|
|
|
| |
have execute permissions. Run "perl verify" instead. Replace all
occurences of the hardcoding of ./verify with $(VERIFY) to allow
it to be overridden as well.
|
|
|
|
| |
time.
|
| |
|
|
|
|
| |
Reviewed by: deischen, julian
|
|
|
|
|
|
|
| |
`data' parameter is not ignored; if non-zero, it specifies a signal
number to be delivered to the traced process.
MFC after: 1 day
|
|
|
|
|
|
|
|
| |
PR: kern/42426, standards/54223
Obtained from: NetBSD
Reviewed by: jake, alc
Approved by: jake (mentor)
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- All those diffs to syscalls.master for each architecture *are*
necessary. This needed clarification; the stub code generation for
mlockall() was disabled, which would prevent applications from
linking to this API (suggested by mux)
- Giant has been quoshed. It is no longer held by the code, as
the required locking has been pushed down within vm_map.c.
- Callers must specify VM_MAP_WIRE_HOLESOK or VM_MAP_WIRE_NOHOLES
to express their intention explicitly.
- Inspected at the vmstat, top and vm pager sysctl stats level.
Paging-in activity is occurring correctly, using a test harness.
- The RES size for a process may appear to be greater than its SIZE.
This is believed to be due to mappings of the same shared library
page being wired twice. Further exploration is needed.
- Believed to back out of allocations and locks correctly
(tested with WITNESS, MUTEX_PROFILING, INVARIANTS and DIAGNOSTIC).
PR: kern/43426, standards/54223
Reviewed by: jake, alc
Approved by: jake (mentor)
MFC after: 2 weeks
|
|
|
|
|
|
| |
signal can causes process to exit.
Reviewed by: deischen
|
|
|
|
| |
uninitialize rtld lock after thread mode shutdown.
|
|
|
|
|
|
|
|
| |
otherwise masks all signals until fork() returns, in child process,
we reset library state before restoring signal masks until we reach
a safe to point.
Reviewed by: deischen
|
|
|
|
|
|
| |
on writer lock. This is first cut at rwlock for rtld.
Submitted by: desichen
|
|
|
|
| |
Reviewed by: deischen
|
|
|
|
| |
Reorganize historic #ifdef section
|
|
|
|
| |
case-sensitive, and MSKANJI does not work.
|
| |
|
|
|
|
| |
one occurrence of GB 18030 should have been 11383.
|
| |
|
| |
|
|
|
|
| |
and to mbsinit(3) while I'm at it.
|
|
|
|
| |
need to be fleshed out a little, especially big5(5).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
didn't provide a constant for one of them (non-IEEE denormal trap),
in an attempt to not support it probably, it's not we are left with
the lower 5 bits.
o Properly mask the passed or returned fp_except_t. Not doing so
causes instant core dumps by trying to write an invalid value to
ar.fpsr. Now that we're masking, stop using exclusive-or to invert
bits.
This fixes the illegal instruction fault encountered when building
mozilla.
|
|
|
|
|
|
| |
Requested by ru: Since the majority of archs can now support the
build of libpthread, rearrange the Makefile to treat libpthread
as an exception.
|
|
|
|
|
|
| |
there is still some missing kernel support.
Reviewed by: marcel
|
|
|
|
| |
Reviewed by: marcel
|
|
|
|
|
|
| |
PR: standards/54634
Reviewed by: das
Approved by: jake (mentor)
|
|
|
|
|
|
|
| |
o Fix a bug in kse_free_unlocked(), kcb_dtor shouldn't be called because
the KSE is cached and will be resued in _kse_alloc().
Reviewed by: deischen
|
| |
|
|
|
|
| |
anymore. This also fixes long line bugs caused by the lengthy URLs :-)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o fix the len argument of memcmp(3) to be the size of the node field
of the uuid structure, not the size of the uuid structure itself.
We're comparing the node fields...
o uuid_compare(3) is specified to return -1, 0 or 1, depending on
the outcome of the comparison. memcmp(3) returns the difference
between the first differing bytes. Hence, we cannot ever return
the return value of memcmp(3) as-is.
PR: standards/55370
Submitted by: Konstantin Oznobihin <bork@rsu.ru>
|
| |
|
|
|
|
|
|
|
| |
bypass it. Doing otherwise did not allow compiler to detect and disable
conflicting options generated from specs.
Reported by: jake
|
|
|
|
|
| |
and to simplify things. This is only valid until we start supporting
state-dependent encodings.
|
|
|
|
| |
as a wrapper around wcsrtombs().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
happens, the context of the interrupted thread is exported to
userland. Unlike most contexts, it will be an async context and
we cannot easily use our existing functions to set such a
context.
To avoid a lot of complexity that may possibly interfere with
the common case, we simply let the kernel deal with it. However,
we don't use the EPC based syscall path to invoke setcontext(2).
No, we use the break-based syscall path. That way the trapframe
will be compatible with the context we're trying to restore and
we save the kernel a lot of trouble. The kind of trouble we did
not want to go though ourselves...
However, we also need to set the threads mailbox and there's no
syscall to help us out. To avoid creating a new syscall, we use
the context itself to pass the information to the kernel so that
the kernel can update the mailbox. This involves setting a flag
(_MC_FLAGS_KSE_SET_MBOX) and setting ifa (the address) and isr
(the value).
|
| |
|
|
|
|
|
|
|
|
|
| |
wctob() in terms of wcrtomb() instead of sputrune(). There should be
no functional differences, but there may be a small performance hit
because we make an extra function call.
The aim here is to have as few functions as possible calling
s{get,put}rune() to make it easier to remove them in the future.
|
|
|
|
| |
can return EALREADY for a socket in blocking mode as well.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
TCB. We know that the thread pointer points to &tcb->tcb_tp, so all
we have to do is subtract offsetof(struct tcb, tcb_tp) from the
thread pointer to get to the TCB. Any reasonably smart compiler will
translate accesses to fields in the TCB as negative offsets from TP.
In _tcb_set() make sure the fake TCB gets a pointer to the current
KCB, just like any other TCB. This fixes a NULL-pointer dereference
in _thr_ref_add() when it tried to get the current KSE.
|