478ea460eb
(strace_printf_wrap): Fix NOSTRACE definitions. (strace_printf_wrap1): Fix NOSTRACE definitions. (special_printf): Define. * thread.cc: Perform minor syntax fix in a comment. Rename "is_good_initialzer*" to "is_initializer*" throughout. Use pthread_printf rather than debug_printf throughout. Add extra pthread_printf debugging throughout. (pthread_mutex::_new_mutex): New constant value. (pthread_mutex::_unlocked_mutex): Ditto. (pthread_mutex::_destroyed_mutex): Ditto. (pthread_mutex::no_owner): Define new function. (pthread_mutex::can_be_unlocked): Detect no_owner situation. Handle PTHREAD_MUTEX_NORMAL as a special case. (pthread::create_cancel_event): Use C++ boolean values. (pthread::precreate): Use method to set mutex type. (pthread_cond::pthread_cond): Ditto. (pthread_rwlock::pthread_rwlock): Ditto. (pthread_mutex::pthread_mutex): Set owner to _new_mutex initially. (pthread_mutex::~pthread_mutex): Reset various elements to make it clearer if they are incorrectly reused. (pthread_mutex::lock): Add clarifying comment. (pthread_mutex::unlock): Attempt to handle various mutex types correctly. In particular, reinstate ability to have one thread unlock another thread's mutex if type == PTHREAD_MUTEX_NORMAL. (semaphore::_fixup_after_fork): Avoid redundancy. (pthread_mutex::_fixup_after_fork): Ditto. Fix debugging statement. (__pthread_cond_dowait): Accommodate changes to remove previously inexplicable use can_be_unblocked() as a static function. * thread.h: Rename "is_good_initialzer*" to "is_initializer*" throughout. (pthread_mutex): Reorganize. Make many things private. (pthread_mutex::no_owner): Define new method. (pthread_mutex::_new_mutex): Define new constant. (pthread_mutex::_unlocked_mutex): Ditto. (pthread_mutex::_destroyed_mutex): Ditto. |
||
---|---|---|
.. | ||
acl.h | ||
copying.dj | ||
cygwin.h | ||
dirent.h | ||
elf32.h | ||
elf64.h | ||
elf_common.h | ||
elf_generic.h | ||
file.h | ||
ioctl.h | ||
ipc.h | ||
kd.h | ||
lock.h | ||
mman.h | ||
mount.h | ||
msg.h | ||
mtio.h | ||
param.h | ||
poll.h | ||
procfs.h | ||
queue.h | ||
resource.h | ||
sched.h | ||
select.h | ||
sem.h | ||
shm.h | ||
smallprint.h | ||
socket.h | ||
soundcard.h | ||
statfs.h | ||
statvfs.h | ||
stdio.h | ||
strace.h | ||
sysinfo.h | ||
syslimits.h | ||
syslog.h | ||
sysmacros.h | ||
sysproto.h | ||
termio.h | ||
termios.h | ||
ttychars.h | ||
uio.h | ||
un.h | ||
utime.h | ||
utmp.h | ||
utsname.h | ||
vfs.h | ||
wait.h |