changelog
来自「eCos操作系统源码」· 代码 · 共 1,090 行 · 第 1/3 页
TXT
1,090 行
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): Likewise2000-12-06 Jonathan Larmour <jlarmour@redhat.com> * src/signal.cxx: include unistd.h for _exit2000-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_DFL2000-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): Likewise2000-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): Ditto2000-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/longjmp2000-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_canceled2000-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, removed2000-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): Ditto2000-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_QUEUES2000-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 + =
减小字号Ctrl + -
显示快捷键?