📄 changelog
字号:
too much on predicting the priority-driven execution order of the
threads. In an SMP system, some threads will run in parallel and
falsify the assumptions.
2001-05-25 Nick Garnett <nickg@cygnus.co.uk>
* src/signal.cxx (siglongjmp): Minor change to satisfy latest C++
compiler.
2001-06-14 Jonathan Larmour <jlarmour@redhat.com>
* src/pthread.cxx (pthread_attr_setstacksize): Correct stack
size assertion.
2001-06-12 Jonathan Larmour <jlarmour@redhat.com>
* src/pthread.cxx (MAIN_DEFAULT_STACK_SIZE): Define to use at
least PTHREAD_STACK_MIN for main_stack.
2001-05-01 Nick Garnett <nickg@cygnus.co.uk>
[x86 branch]
* tests/signal2.c (cause_illegal_access): Added code for I386
architecture to provoke General Protection Fault.
* src/except.cxx: Removed some extraneous diag_printf()s.
2001-04-25 Bart Veer <bartv@redhat.com>
* tests/tm_basic.cxx:
This test is now functional on the synthetic target.
2001-04-20 Jonathan Larmour <jlarmour@redhat.com>
* src/time.cxx (cyg_ticks_to_timespec): Actually don't bother
with working out seconds using convertors. Instead just divide
down ns from a long long.
2001-04-19 Jonathan Larmour <jlarmour@redhat.com>
* src/time.cxx (cyg_ticks_to_timespec): Clock convertors round off,
so adjust timespec accordingly.
2001-02-14 Jonathan Larmour <jlarmour@redhat.com>
* include/pthread.h: Remove pthread_canceled() and
pthread_testcancel_unlock().
* src/pthread.cxx: Ditto.
(pthread_join): Restructure to have function exit only at function end
(pthread_cond_timedwait): Check for timeouts and return ETIMEDOUT
* src/signal.cxx (sigtimedwait): Restructure cancellation testing
* src/time.cxx (nanosleep): test for cancellation at the end of the
function to keep Nick happy ;).
2001-02-11 Jonathan Larmour <jlarmour@redhat.com>
* include/pthread.h: Add new pthread_testcancel_unlock and
pthread_canceled functions as eCos extensions.
Rename existing pthread_canceled variable to pthread_cancelled_dummy_var
* src/pthread.cxx (pthread_canceled): New function to interrogate if
current thread has deferred cancel pending
(pthread_testcancel_unlock): New function. Like testcancel, but unlocks
a mutex before exitting the thread.
(checkforcancel): New internal function
(pthread_join): Add thread cancellation checks.
(pthread_cond_wait): Ditto.
(pthread_cond_timedwait): Ditto.
(pthread_testcancel): Use checkforcancel()
* src/sem.cxx (sem_wait): Add thread cancellation checks
* src/signal.cxx (sigtimedwait): Ditto.
Also make compilation of this file conditional on CYGPKG_POSIX_SIGNALS
* src/time.cxx (nanosleep): Ditto.
Also make compilation of this file conditional on CYGPKG_POSIX_TIMERS
* cdl/posix.cdl (CYGPKG_POSIX_TIMERS): Implements POSIX timer ops.
Add explicit kernel and pthread dependencies.
* tests/sigsetjmp.c (pthread_entry1): Fix incorrect thread no. output
* tests/pthread3.c: Add deferred cancellation test.
2001-01-11 Nick Garnett <nickg@cygnus.co.uk>
* src/pthread.cxx (pthread_testcancel): Added test for self !=
NULL in case this gets called from a non-pthread.
2000-12-22 Jonathan Larmour <jlarmour@redhat.com>
* src/pthread.cxx (pthread_measure_stack_usage): New function
to measure stack usage.
* include/pthread.h: Prototype it.
* cdl/pthread.cdl: remove CYGNUM_POSIX_MAIN_DEFAULT_STACK_SIZE and
instead implement CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE
* src/pthread.cxx: Use stack size for main from libc_startup package
to prevent confusion
(cyg_posix_pthread_start): Likewise
2000-12-06 Jonathan Larmour <jlarmour@redhat.com>
* src/signal.cxx: include unistd.h for _exit
2000-11-20 Nick Garnett <nickg@cygnus.co.uk>
* src/signal.cxx (cyg_deliver_signals): Added else in code to
handle SIG_DFL. Otherwise if the SA_SIGINFO bit is set we call the
signal handler twice!
2000-11-07 Jonathan Larmour <jlarmour@redhat.com>
* src/signal.cxx (cyg_posix_thread_siginit): Add extra thread
argument so that threads can inherit parent's sigmask.
* src/pthread.cxx (pthread_create): Call with parent thread
* src/pprivate.h: Change cyg_posix_thread_siginit prototype to take
parent thread argument
* tests/signal1.c: Add more checking of sigwaits, and fix so that it's
only called when the signal is masked. Check errno values too
sometimes.
2000-11-02 Jonathan Larmour <jlarmour@redhat.com>
* src/signal.cxx (sigtimedwait): return signal number on success,
not 0
(SIGNAL_RETURN_VALUE): New macro for returning from functions with
valid non-zero returns
(sigwaitinfo): Pass on sigtimedwait result with SIGNAL_RETURN_VALUE
macro as it may return the signal number.
2000-11-01 Jonathan Larmour <jlarmour@redhat.com>
* src/signal.cxx (sigtimedwait): Check for SIGALRMs as a special
case when looping as it won't have been set pending if it was
masked.
(check_sigalarm): New function extracted from the posix signal ASR
(sigalrm_action): Unconditionally wake up threads waiting in sigwait
so that they can check for pending SIGALRMs even if they were
masked.
(cyg_deliver_signals): Handle SIG_DFL signals properly, and check
for bad signal handlers.
(cyg_posix_signal_start): Initialize default signal actions to SIG_DFL
2000-10-27 Jesper Skov <jskov@redhat.com>
* tests/signal2.c (cause_illegal_access): Don't loop forever.
2000-10-16 Jonathan Larmour <jlarmour@redhat.com>
* include/sigsetjmp.h (sigsetjmp): Various fixes to make portable
across all HALs (by avoiding CYGARC_JMP_BUF_SIZE) and remove warnings.
* src/signal.cxx (siglongjmp): Likewise
2000-10-12 Nick Garnett <nickg@cygnus.co.uk>
* include/sigsetjmp.h: Added this header to define
sigjmp_buf,sigsetjmp() and siglongjmp().
* cdl/posix.cdl:
Added support for providing sigsetjmp implementation and header.
Added sigsetjmp test.
* src/signal.cxx: Added siglongjmp().
* tests/sigsetjmp.c: Added this test for sigsetjmp(), siglongjmp()
functionality. This is also a test for longjmping out of signal
handlers.
* tests/signal2.c:
Ifdeffed around cause_* functions to avoid compiler warnings when
they are not needed.
Changed CYG_TEST_NA() calls to CYG_TEST_INFO() and changed
CYG_TEST_FINISH() to CYG_TEST_PASS_FINISH(). With the _NA's there,
the first unsupported exception just terminates the program, and
does not give any subsequent supported ones a chance to run.
2000-10-12 Jesper Skov <jskov@redhat.com>
* tests/timer1.c (main): Fix exit check.
2000-10-11 Nick Garnett <nickg@cygnus.co.uk>
* src/pthread.cxx: Fixed cyg_posix_pthread_release_thread() to
work for _DETACHED threads as well as for _RUNNING ones. Also
fixed a bug in test to decrement counter in this routine.
* src/pprivate.h: Added note about retaining numerical order of
PTHREAD_STATE_* defines.
* tests/timer1.c: Fixed some bugs of the how-did-it-ever-work
variety.
2000-10-05 Nick Garnett <nickg@cygnus.co.uk>
* src/misc.cxx:
Added a set of compatibility functions to aid portability and
improve standards compliance.
Added cyg_posix_function_[start|finish] to set up and terminate
POSIX API functionality wrt signal and cancellation behaviour.
(Lots more to do here).
* include/export.h:
Added this file to contain definitions that can be exported from
the POSIX package to others.
* src/pprivate.h: Added include of export.h
2000-09-11 Jonathan Larmour <jlarmour@redhat.com>
* include/limits.h (OPEN_MAX): Don't define here - let FS infra do
that.
(LINK_MAX): Ditto
(NAME_MAX): Ditto
(PATH_MAX): Ditto
2000-09-04 Nick Garnett <nickg@cygnus.co.uk>
* tests/pthread2.c:
* tests/pthread3.c:
Fixed bug in calculation of thread stack addresses.
* src/misc.cxx (sysconf): Change zero returns to -1 when a feature
is not supported.
2000-08-08 Jonathan Larmour <jlarmour@redhat.co.uk>
* include/limits.h: Don't define SSIZE_MAX here, leave it to the
isoinfra default.
2000-07-27 Jonathan Larmour <jlarmour@redhat.co.uk>
* tests/signal2.c: NA if no setjmp/longjmp
2000-07-26 Nick Garnett <nickg@cygnus.co.uk>
* include/pthread.h:
* src/pthread.cxx (pthread_testcancel): Reversed addition of cyg_
to this symbol.
2000-07-25 Jonathan Larmour <jlarmour@redhat.co.uk>
* src/pthread.cxx: Define main_stack and main_thread as static
Rename pthread_canceled -> cyg_pthread_canceled - pthread_ may be
a reserved name space but this makes explicit it is implementation-
and not standard-defined
(PTHREAD_ENTRY_VOID): Define for funcs that take no args
(pthread_testcancel): Call PTHREAD_ENTRY_VOID()
* include/pthread.h: Rename pthread_canceled -> cyg_pthread_canceled
2000-07-20 Jonathan Larmour <jlarmour@redhat.co.uk>
* src/pthread.cxx: Use isoinfra to determine presence of malloc()
Define pthread_malloc() and pthread_free() as inlines
* cdl/posix.cdl: Shouldn't define _POSIX_MESSAGE_PASSING at all - that
happens in isoinfra.
2000-07-20 Nick Garnett <nickg@cygnus.co.uk>
* cdl/posix.cdl: Added misc.cxx to compile list. Added option to
define _POSIX_MESSAGE_PASSING. Added configury for utsname
structure.
* include/utsname.h: Added this file to define struct utsname and
uname() function prototype.
* include/mqueue.h: Moved definition of _POSIX_MESSAGE_PASSING to
CDL.
* include/limits.h: Added NGROUPS_MAX definition.
* src/pthread.cxx:
Added support for malloced() thread stacks.
Added implementations of pthread_mutex_setprioceiling() and
pthread_mutex_getprioceiling().
Changed implementations of pthread_mutex_destroy(),
pthread_mutex_lock() and pthread_mutex_trylock() to conform more
closely to the standard.
Changed pthread_key_create() to assign NULL to all valid thread
slots that correspond to a newly allocated key.
* src/pprivate.h: Added freestack and stackmem members to manage
malloced thread stacks.
* src/misc.cxx: Added this file to contain functions that do not
belong in any other files. Currently contains uname() and
sysconf().
2000-07-19 Jonathan Larmour <jlarmour@redhat.co.uk>
* src/startup.cxx: Remove unnecessary includes
Use dummy object constructor to do initialization
* cdl/posix.cdl:
Don't need main.cxx any more
Build startup.cxx into extras.o (via libextras.a)
* cdl/pthread.cdl (CYGPKG_POSIX_MAIN_THREAD):
Integrate with CYGPKG_LIBC_STARTUP - tell CYGPKG_LIBC_STARTUP to
let pthreads set up main thread
* src/pthread.cxx: Integrate with CYGPKG_LIBC_STARTUP rather than
calling main() directly.
Track number of threads waiting to be joined, so we can tell in
pthread_exit() if this is the last thread, and therefore whether
to call exit()
* src/main.cxx: obsolete, removed
2000-07-13 Nick Garnett <nickg@cygnus.co.uk>
* src/signal.cxx: Added ISO C compatibility functions signal() and
raise().
2000-06-21 Nick Garnett <nickg@cygnus.co.uk>
* src/pthread.cxx: Added for(;;) loop to end of pthread_exit().
pthread_exit() is marked with the noreturn attribute, and without
this some compilers generate a call to abort() here in case
Cyg_Thread::exit() returns. The loop avoids this.
2000-06-06 Jonathan Larmour <jlarmour@redhat.co.uk>
* src/mqueue.cxx (mq_receive): Fix non-portable treatment of mode flags
(mq_send): Ditto
* tests/mqueue2.c (main): Ditto
2000-05-24 Nick Garnett <nickg@cygnus.co.uk>
* tests/pthread2.c: Added this program to test per-thread data
handling.
* tests/pthread3.c: Added this program to test execution of
cancellation handler.
* src/pthread.cxx: Fixed some bugs revealed by new test programs.
* cdl/posix.cdl: Added two new pthread tests.
2000-05-22 Jonathan Larmour <jlarmour@redhat.co.uk>
* cdl/posix.cdl (CYGPKG_POSIX): Require
CYGIMP_KERNEL_SCHED_SORTED_QUEUES
2000-05-20 Jonathan Larmour <jlarmour@redhat.co.uk>
* tests/mqueue1.c (cyg_user_start): Define correctly
* tests/mqueue2.c (cyg_user_start): Likewise
* src/pprivate.h (cyg_sigqueue): Make struct sigevent * arg const since
it is, and it prevents warnings elsewhere
* src/signal.cxx (cyg_sigqueue): ditto
* tests/signal2.c: Use CYG_TEST_NA, not CYG_TEST_INFO (otherwise
the test farm may fail the tests because there are no PASSes or NAs)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -