📄 changelog
字号:
(PTW32_DLLPORT): Now only defined if _DLL defined. (_errno): Compiler directive was incorrectly including prototype. * sched.h: Conditionally added some #defines from config.h needed when not building the library. * semaphore.h: Replace an instance of NEED_SEM that should have been NEED_ERRNO. This change currently has nil effect. * GNUmakefile: Correct some recent changes. * Makefile: Add rule to generate pre-processor output.2002-02-23 Ross Johnson <rpj at setup1.ise.canberra.edu.au> * pthread_rwlock_timedrdlock.c: New - untested. * pthread_rwlock_timedwrlock.c: New - untested. * Testsuite passed (except known MSVC++ problems) * pthread_cond_destroy.c: Expand the time change critical section to solve deadlock problem. * pthread.c: Add all remaining C modules. * pthread.h: Use dllexport/dllimport attributes on functions to avoid using pthread.def. * sched.h: Likewise. * semaphore.h: Likewise. * GNUmakefile: Add new targets for single translation unit build to maximise inlining potential; generate pthread.def automatically. * Makefile: Likewise, but no longer uses pthread.def.2002-02-20 Ross Johnson <rpj at setup1.ise.canberra.edu.au> * pthread_cond_destroy.c (pthread_cond_destroy): Enter the time change critical section earlier.2002-02-17 Ross Johnson <rpj at setup1.ise.canberra.edu.au * Testsuite passed. * pthread_timechange_handler_np.c: New; following a suggestion from Alexander Terekhov that CVs should be broadcast so that they all re-evaluate their condition variables and reset a new timeout if required, whenever an application receives a WM_TIMECHANGE message. This message indicates that the system time has been changed. Therefore, CVs waiting for a timeout set as an abs_time will possibly not wake up at the expected time. Some applications may not be tolerant of this. * pthread_cond_init.c: Add CV to linked list. * pthread_cond_destroy.c: Remove CV from linked list. * global.c (ptw32_cond_list_head): New variable. (ptw32_cond_list_tail): New variable. (ptw32_cond_list_cs): New critical section. * ptw32_processInitialize (ptw32_cond_list_cs): Initialize. * ptw32_processTerminate (ptw32_cond_list_cs): Delete. * Reduce executable size. ----------------------- When linking with the static library, only those routines actually called, either directly or indirectly should be included. [Gcc has the -ffunction-segments option to do this but MSVC doesn't have this feature as far as I can determine. Other compilers are undetermined as well. - rpj] * spin.c: Split file into function segments. * ptw32_spinlock_check_need_init.c: Separated routine from spin.c. * pthread_spin_init.c: Likewise. * pthread_spin_destroy.c: Likewise. * pthread_spin_lock.c: Likewise. * pthread_spin_unlock.c: Likewise. * pthread_spin_trylock.c: Likewise. * sync.c: Split file into function segments. * pthread_detach.c: Separated routine from sync.c. * pthread_join.c: Likewise. * tsd.c: Split file into function segments. * pthread_key_create.c: Separated routine from tsd.c. * pthread_key_delete.c: Likewise. * pthread_setspecific.c: Likewise. * pthread_getspecific.c: Likewise. * sched.c: Split file into function segments. * pthread_attr_setschedpolicy.c: Separated routine from sched.c. * pthread_attr_getschedpolicy.c: Likewise. * pthread_attr_setschedparam.c: Likewise. * pthread_attr_getschedparam.c: Likewise. * pthread_attr_setinheritsched.c: Likewise. * pthread_attr_getinheritsched.c: Likewise. * pthread_setschedparam.c: Likewise. * pthread_getschedparam.c: Likewise. * sched_get_priority_max.c: Likewise. * sched_get_priority_min.c: Likewise. * sched_setscheduler.c: Likewise. * sched_getscheduler.c: Likewise. * sched_yield.c: Likewise.2002-02-16 Ross Johnson <rpj at setup1.ise.canberra.edu.au Reduce executable size. ----------------------- When linking with the static library, only those routines actually called, either directly or indirectly should be included. [Gcc has the -ffunction-segments option to do this but MSVC doesn't have this feature as far as I can determine. Other compilers are undetermined as well. - rpj] * mutex.c: Split file into function segments. * pthread_mutexattr_destroy.c: Separated routine from mutex.c * pthread_mutexattr_getpshared.c: Likewise. * pthread_mutexattr_gettype.c: Likewise. * pthread_mutexattr_init.c: Likewise. * pthread_mutexattr_setpshared.c: Likewise. * pthread_mutexattr_settype.c: Likewise. * ptw32_mutex_check_need_init.c: Likewise. * pthread_mutex_destroy.c: Likewise. * pthread_mutex_init.c: Likewise. * pthread_mutex_lock.c: Likewise. * pthread_mutex_timedlock.c: Likewise. * pthread_mutex_trylock.c: Likewise. * pthread_mutex_unlock.c: Likewise. * private.c: Split file into function segments. * ptw32_InterlockedCompareExchange.c: Separated routine from private.c * ptw32_callUserDestroyRoutines.c: Likewise. * ptw32_getprocessors.c: Likewise. * ptw32_processInitialize.c: Likewise. * ptw32_processTerminate.c: Likewise. * ptw32_threadDestroy.c: Likewise. * ptw32_threadStart.c: Likewise. * ptw32_throw.c: Likewise. * ptw32_timespec.c: Likewise. * ptw32_tkAssocCreate.c: Likewise. * ptw32_tkAssocDestroy.c: Likewise. * rwlock.c: Split file into function segments. * pthread_rwlockattr_destroy.c: Separated routine from rwlock.c * pthread_rwlockattr_getpshared.c: Likewise. * pthread_rwlockattr_init.c: Likewise. * pthread_rwlockattr_setpshared.c: Likewise. * ptw32_rwlock_check_need_init.c: Likewise. * pthread_rwlock_destroy.c: Likewise. * pthread_rwlock_init.c: Likewise. * pthread_rwlock_rdlock.c: Likewise. * pthread_rwlock_tryrdlock.c: Likewise. * pthread_rwlock_trywrlock.c: Likewise. * pthread_rwlock_unlock.c: Likewise. * pthread_rwlock_wrlock.c: Likewise.2002-02-10 Ross Johnson <rpj at setup1.ise.canberra.edu.au Reduce executable size. ----------------------- When linking with the static library, only those routines actually called, either directly or indirectly should be included. [Gcc has the -ffunction-segments option to do this but MSVC doesn't have this feature as far as I can determine. Other compilers are undetermined as well. - rpj] * nonportable.c: Split file into function segments. * np_delay.c: Separated routine from nonportable.c * np_getw32threadhandle.c: Likewise. * np_mutexattr_setkind.c: Likewise. * np_mutexattr_getkind.c: Likewise. * np_num_processors.c: Likewise. * np_win32_attach_detach.c: Likewise. * misc.c: Split file into function segments. * pthread_equal.c: Separated routine from nonportable.c. * pthread_getconcurrency.c: Likewise. * pthread_once.c: Likewise. * pthread_self.c: Likewise. * pthread_setconcurrency.c: Likewise. * ptw32_calloc.c: Likewise. * ptw32_new.c: Likewise. * w32_CancelableWait.c: Likewise. 2002-02-09 Ross Johnson <rpj at setup1.ise.canberra.edu.au Reduce executable size. ----------------------- When linking with the static library, only those routines actually called, either directly or indirectly should be included. [Gcc has the -ffunction-segments option to do this but MSVC doesn't have this feature as far as I can determine. Other compilers are undetermined as well. - rpj] * condvar.c: Split file into function segments. * pthread_condattr_destroy.c: Separated routine from condvar.c. * pthread_condattr_getpshared.c: Likewise. * pthread_condattr_init.c: Likewise. * pthread_condattr_setpshared.c: Likewise. * ptw32_cond_check_need_init.c: Likewise. * pthread_cond_destroy.c: Likewise. * pthread_cond_init.c: Likewise. * pthread_cond_signal.c: Likewise. * pthread_cond_wait.c: Likewise. 2002-02-07 Alexander Terekhov<TEREKHOV at de.ibm.com> * nonportable.c (pthread_delay_np): Make a true cancelation point. Deferred cancels will interrupt the wait.2002-02-07 Ross Johnson <rpj at setup1.ise.canberra.edu.au * misc.c (ptw32_new): Add creation of cancelEvent so that implicit POSIX threads (Win32 threads with a POSIX face) are cancelable; mainly so that pthread_delay_np doesn't fail if called from the main thread. * create.c (pthread_create): Remove creation of cancelEvent from here; now in ptw32_new(). Reduce executable size. ----------------------- When linking with the static library, only those routines actually called, either directly or indirectly should be included. [Gcc has the -ffunction-segments option to do this but MSVC doesn't have this feature as far as I can determine. Other compilers are undetermined as well. - rpj] * barrier.c: All routines are now in separate compilation units; This file is used to congregate the separate modules for potential inline optimisation and backward build compatibility. * cancel.c: Likewise. * pthread_barrierattr_destroy.c: Separated routine from cancel.c. * pthread_barrierattr_getpshared.c: Likewise. * pthread_barrierattr_init.c: Likewise. * pthread_barrierattr_setpshared.c: Likewise. * pthread_barrier_destroy.c: Likewise. * pthread_barrier_init.c: Likewise. * pthread_barrier_wait.c: Likewise. * pthread_cancel.c: Likewise. * pthread_setcancelstate.c: Likewise. * pthread_setcanceltype.c: Likewise. * pthread_testcancel.c: Likewise.2002-02-04 Max Woodbury <mtew at cds.duke.edu> Reduced name space pollution. ----------------------------- When the appropriate symbols are defined, the headers will restrict the definitions of new names. In particular, it must be possible to NOT include the <windows.h> header and related definitions with some combination of symbol definitions. Secondly, it should be possible that additional definitions should be limited to POSIX compliant symbols by the definition of appropriate symbols. * pthread.h: POSIX conditionals. * sched.h: POSIX conditionals. * semaphore.h: POSIX conditionals. * semaphore.c: Included <limits.h>. (sem_init): Changed magic 0x7FFFFFFFL to INT_MAX. (sem_getvalue): Trial version. Reduce executable size. ----------------------- When linking with the static library, only those routines actually called, either directly or indirectly should be included. [Gcc has the -ffunction-segments option to do this but MSVC doesn't have this feature as far as I can determine. Other compilers are undetermined as well. - rpj] * semaphore.c: All routines are now in separate compilation units; This file is used to congregate the separate modules for potential inline optimisation and backward build compatibility. * sem_close.c: Separated routine from semaphore.c. * ptw32_decrease_semaphore.c: Likewise. * sem_destroy.c: Likewise. * sem_getvalue.c: Likewise. * ptw32_increase_semaphore.c: Likewise. * sem_init.c: Likewise. * sem_open.c: Likewise. * sem_post.c: Likewise. * sem_post_multiple.c: Likewise. * sem_timedwait.c: Likewise. * sem_trywait.c: Likewise. * sem_unlink.c: Likewise. * sem_wait.c: Likewise.2002-02-04 Ross Johnson <rpj at setup1.ise.canberra.edu.au> The following extends the idea above to the rest of pthreads-win32 - rpj * attr.c: All routines are now in separate compilation units; This file is used to congregate the separate modules for potential inline optimisation and backward build compatibility. * pthread_attr_destroy.c: Separated routine from attr.c. * pthread_attr_getdetachstate.c: Likewise. * pthread_attr_getscope.c: Likewise. * pthread_attr_getstackaddr.c: Likewise. * pthread_attr_getstacksize.c: Likewise. * pthread_attr_init.c: Likewise. * pthread_attr_is_attr.c: Likewise. * pthread_attr_setdetachstate.c: Likewise. * pthread_attr_setscope.c: Likewise. * pthread_attr_setstackaddr.c: Likewise. * pthread_attr_setstacksize.c: Likewise.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -