Commit Graph

84 Commits

Author SHA1 Message Date
Fish (David B. Trout)
48ee7c736f (oops!) Free str to prevent memory leak. 2015-01-24 06:29:35 -08:00
Fish (David B. Trout)
26a1f86d7f PTT facility enhancements:
1. Expand trace class to 64-bits.
2. Predefined convenience macros.
3. Expand trace message to 18 characters.
4. Use convenience macros where possible.

This commit is mostly in preparation for upcoming LCS debugging via PTT facility enhancements to help debug Issue #43 (which is a race condition and thus timing dependent, thus PTT debugging rather than logmsg debugging), but I tried to design it to make it easier for other modules (e.g. QETH) to also transition away from logmsg debugging to debugging via PTT facilty instead.
2015-01-24 06:16:05 -08:00
Fish (David B. Trout)
a7c8ce6ce8 correct set priority handling 2014-01-03 13:54:14 -08:00
Fish (David B. Trout)
dbff865b99 HTHREADS/PTTRACE rework Part 2(b): Report abandoned locks
Still to be done: Part 3(a): fthreads R/W locks support
                  Part 3(b): Robust Mutexes support
2013-06-15 08:27:31 -07:00
Fish (David B. Trout)
9a643b3fb2 Fix gcc errors from HTHREADS/PTTRACE rework commit 2013-06-02 16:55:52 -07:00
Fish (David B. Trout)
0e0481ffb8 HTHREADS / PTTRACE rework: refer to README.PTT for details.
Note: this is the first (i.e. part 2a) of Part 2 of the locking/threading rework effort: hthreads restructuring.  Part 2b will be the hthreads.c code necessary to detect threads exiting while still holding locks (i.e. abandoned locks).
2013-06-02 05:40:22 -07:00
Fish (David B. Trout)
5ab28746f0 OPTION_PTTRACE made permanent; build option removed. 2013-05-31 11:16:35 -07:00
Fish (David B. Trout)
58746d3729 Fix missing */ on comment 2013-05-21 12:12:48 -07:00
Fish (David B. Trout)
d1ddef81ba Fix crash @ init: Don't call loglock unless it's an error. 2013-05-18 09:01:34 -07:00
Fish (David B. Trout)
ac0b79450b (cosmetic comments cleanup) 2013-05-17 21:48:40 -07:00
Fish (David B. Trout)
a9e254206a Detect/report unexpected EBUSY/ETIMEDOUT 2013-05-17 16:19:24 -07:00
Fish (David B. Trout)
187628b842 Add missing #defines to fthreads.h 2013-05-17 08:33:03 -07:00
Fish (David B. Trout)
7c527a5fa2 Improved lock handling Part 1: better error reporting.
Maintain lock ownership and report who owns the lock when an obtain_lock fails.

Part 2 will be the maintaining of a locks list and automatic reporting of abandoned locks (threads exiting while holding a lock(s)).

Part 3 will be adding support for Robust Mutexes, including to fthreads.
2013-05-17 07:53:33 -07:00
dasdman
ffaf59a865 Report all lock errors in a readable manner. 2013-05-14 15:19:50 -07:00
John P. Hartmann
b9db83fa68 The support for Hercules variables causes random segment exceptions,
often after the operating system has been started.  Thus the current
implementation does not "work".

Disable setenv() on unix when pthreads is active (which it is as soon
as a CPU is defined).  The change sets a mark on the wall over in pttrace.c
and refuses setenv() when that mark is set.  Read comments in hscutl.c
if you disagree.

This should probably also be done on Windows, but I shall leave that
to those who are competent on that platform.

The "fix" is nontrivial.
2012-07-27 11:25:30 +02:00
Fish-Git
59cee637c1 Remove FishHang crap from Hercules
FishHang was useful during development of fthreads but has not been needed for so many years and so has FINALLY been deleted. Sorry it took me so long to do it.
2012-05-20 15:44:19 -07:00
Jan Jaeger
439bdbca92 Remove subversion $Id$ tag
Update copyright statement to 2012
2012-03-24 18:41:51 +11:00
Paul Gorlinsky
31c9a99803 Remove LOGMSG macro. Change LOGMSG to logmsg. Rename log_msg() to logmsg().
git-svn-id: file:///home/jj/hercules.svn/trunk@7688 956126f8-22a0-4046-8f4a-272fa8102e63
2011-08-12 23:28:17 +00:00
Paul Gorlinsky
2c2eaf37dc Restore code regressed by latest changes.
git-svn-id: file:///home/jj/hercules.svn/trunk@7678 956126f8-22a0-4046-8f4a-272fa8102e63
2011-08-09 02:00:07 +00:00
Jan Jaeger
032e72e79b Revert to lowercase logmsg()
git-svn-id: file:///home/jj/hercules.svn/trunk@7669 956126f8-22a0-4046-8f4a-272fa8102e63
2011-08-07 00:09:14 +00:00
Paul Gorlinsky
47f306d108 Revert bzero(d,s) to memset(d,0,s).
git-svn-id: file:///home/jj/hercules.svn/trunk@7604 956126f8-22a0-4046-8f4a-272fa8102e63
2011-07-22 19:23:35 +00:00
Paul Gorlinsky
9083dcf949 Add inline bzero function. Change memset(x, 0, l) to bzero(x, l)
git-svn-id: file:///home/jj/hercules.svn/trunk@7601 956126f8-22a0-4046-8f4a-272fa8102e63
2011-07-20 01:49:14 +00:00
Paul Gorlinsky
b871e5a87b Cleanup unused variables. Modules that process instructions have the warning turned off.
git-svn-id: file:///home/jj/hercules.svn/trunk@7590 956126f8-22a0-4046-8f4a-272fa8102e63
2011-07-18 21:19:31 +00:00
Fish (David B Trout)
e44bb3990f Implement "OPTION_MUTEX_XXXX" default mutex locking model
build option in featall.h and report in version.c which one
that Hercules was built with.


git-svn-id: file:///home/jj/hercules.svn/trunk@7513 956126f8-22a0-4046-8f4a-272fa8102e63
2011-06-21 03:58:35 +00:00
Fish (David B Trout)
f8832852ed Revert svn# 7506 deadlock detection altogether.
I'm going to work on a better approach...

git-svn-id: file:///home/jj/hercules.svn/trunk@7510 956126f8-22a0-4046-8f4a-272fa8102e63
2011-06-16 18:56:36 +00:00
Fish (David B Trout)
12632fd9a7 (Oops!) wrong tweak.
git-svn-id: file:///home/jj/hercules.svn/trunk@7509 956126f8-22a0-4046-8f4a-272fa8102e63
2011-06-16 18:15:27 +00:00
Fish (David B Trout)
54af4a5044 Tweak to deadlock detection
git-svn-id: file:///home/jj/hercules.svn/trunk@7508 956126f8-22a0-4046-8f4a-272fa8102e63
2011-06-16 18:06:35 +00:00
Fish (David B Trout)
f9b95c1c96 Detect/report deadlocks
git-svn-id: file:///home/jj/hercules.svn/trunk@7506 956126f8-22a0-4046-8f4a-272fa8102e63
2011-06-12 02:23:10 +00:00
Paul Gorlinsky
108c960997 change reserved word class and private
git-svn-id: file:///home/jj/hercules.svn/trunk@7410 956126f8-22a0-4046-8f4a-272fa8102e63
2011-04-10 04:35:42 +00:00
Paul Gorlinsky
9081b644c7 Function logmsg() renamed to log_msg(). LOGMSG define added. All logmsg calls changed to LOGMSG.
git-svn-id: file:///home/jj/hercules.svn/trunk@7333 956126f8-22a0-4046-8f4a-272fa8102e63
2011-02-23 03:48:52 +00:00
Paul Gorlinsky
103837eb0c Message cleanup
git-svn-id: file:///home/jj/hercules.svn/trunk@6978 956126f8-22a0-4046-8f4a-272fa8102e63
2010-10-26 04:44:08 +00:00
Paul Gorlinsky
217cdfe2d0 fthreads maps rwlocks to locks. PTTRACE prototypes were there but no code.
git-svn-id: file:///home/jj/hercules.svn/trunk@6844 956126f8-22a0-4046-8f4a-272fa8102e63
2010-10-09 21:06:23 +00:00
Bernard van der Helm
9ac2eab6b7 Further introduction rwlock, no use yet
git-svn-id: file:///home/jj/hercules.svn/trunk@6838 956126f8-22a0-4046-8f4a-272fa8102e63
2010-10-09 05:17:27 +00:00
Paul Gorlinsky
8c9842bf41 Buffer Overflow cleanup
git-svn-id: file:///home/jj/hercules.svn/trunk@6677 956126f8-22a0-4046-8f4a-272fa8102e63
2010-09-30 00:54:59 +00:00
Paul Gorlinsky
8f1a68f9de make strtok_r use throughout system... some code was already using it.
Use "secure" forms for some functions for windows. sprintf changed to MSGBUF embedded snprintf or snprintf_s to prevent buffer overruns.

git-svn-id: file:///home/jj/hercules.svn/trunk@6570 956126f8-22a0-4046-8f4a-272fa8102e63
2010-09-22 22:59:21 +00:00
Bernard van der Helm
0f9889de5b Solve gcc 4.5 warnings
git-svn-id: file:///home/jj/hercules.svn/trunk@6219 956126f8-22a0-4046-8f4a-272fa8102e63
2010-07-21 06:29:27 +00:00
Bernard van der Helm
4f1b482357 1. Added messages when the ptt timeout thread is started and stopped.
2. Added the measured wait time for a lock


git-svn-id: file:///home/jj/hercules.svn/trunk@6155 956126f8-22a0-4046-8f4a-272fa8102e63
2010-07-04 09:49:51 +00:00
Paul Gorlinsky
658010a947 Update notices; Standardize preamble...
git-svn-id: file:///home/jj/hercules.svn/trunk@5999 956126f8-22a0-4046-8f4a-272fa8102e63
2010-05-18 14:10:36 +00:00
Bernard van der Helm
24c47654cf ptttrace.c std msg
git-svn-id: file:///home/jj/hercules.svn/trunk@5998 956126f8-22a0-4046-8f4a-272fa8102e63
2010-05-18 12:40:48 +00:00
Bernard van der Helm
752cbbd080 Standard messages for thread error handling + error handling when a
thread is started


git-svn-id: file:///home/jj/hercules.svn/trunk@5857 956126f8-22a0-4046-8f4a-272fa8102e63
2010-04-20 13:55:05 +00:00
Bernard van der Helm
645df0fb8a pttrace.c std msg
git-svn-id: file:///home/jj/hercules.svn/trunk@5751 956126f8-22a0-4046-8f4a-272fa8102e63
2010-03-27 06:32:50 +00:00
Fish (David B Trout)
7027ffdbc6 New PTT trace display format.
git-svn-id: file:///home/jj/hercules.svn/trunk@5744 956126f8-22a0-4046-8f4a-272fa8102e63
2010-03-26 15:40:28 +00:00
Paul Gorlinsky
ebf2d085c1 trace is truncating filename:line number field. Field has been expanded from 14 to 18 characters. Eight (8) character filenames with line numbers > 999 were truncating the line numbers. cckddasd.c:442 should have been cckddasd.c:4429.
git-svn-id: file:///home/jj/hercules.svn/trunk@5735 956126f8-22a0-4046-8f4a-272fa8102e63
2010-03-23 18:15:31 +00:00
Roger Bowler
7858f8d4b3 Mac OS X warning: cast from pointer to integer of different size
git-svn-id: file:///home/jj/hercules.svn/trunk@5599 956126f8-22a0-4046-8f4a-272fa8102e63
2010-01-07 15:09:20 +00:00
Roger Bowler
dbdde6a042 Standardize prolog comments and remove cvs log
git-svn-id: file:///home/jj/hercules.svn/trunk@5598 956126f8-22a0-4046-8f4a-272fa8102e63
2010-01-07 15:05:15 +00:00
Jan Jaeger
6d1e5ec636 correct display of sie and io trace entries
git-svn-id: file:///home/jj/hercules.svn/trunk@5247 956126f8-22a0-4046-8f4a-272fa8102e63
2009-03-06 08:22:16 +00:00
Jan Jaeger
e84594bbf5 correct ptt display output
git-svn-id: file:///home/jj/hercules.svn/trunk@5246 956126f8-22a0-4046-8f4a-272fa8102e63
2009-03-06 08:03:38 +00:00
Jan Jaeger
2079c714de trace updates
git-svn-id: file:///home/jj/hercules.svn/trunk@5242 956126f8-22a0-4046-8f4a-272fa8102e63
2009-03-05 21:33:26 +00:00
Jan Jaeger
88353ef9a4 change var file to loc for msvc
git-svn-id: file:///home/jj/hercules.svn/trunk@5228 956126f8-22a0-4046-8f4a-272fa8102e63
2009-03-01 17:00:09 +00:00
Jan Jaeger
e8856c06b9 change ptt intlock to ptt inter (intlock is ambiguous)
git-svn-id: file:///home/jj/hercules.svn/trunk@5226 956126f8-22a0-4046-8f4a-272fa8102e63
2009-03-01 14:25:28 +00:00