[parisc-linux] User space locks -- what's wrong

John David Anglin dave at hiauly1.hia.nrc.ca
Sun Jun 11 18:54:15 MDT 2006


> On 6/11/06, John David Anglin <dave at hiauly1.hia.nrc.ca> wrote:
> > (gdb) p *spinlock
> > $10 = {lock = {0, 0, 0, 0}} <== we would see some ones if initialized
> > So, I believe the value for spinlock in the backtrace.  Thus, this is
> > probably a libgfortran issue.

In the first call to st_write_done, I see:

(gdb) p *((st_parameter_dt *)$r26)->u.p.current_unit
$38 = {unit_number = -1, s = 0x193248, left = 0x0, right = 0x0, priority = 0,
  read_bad = 1, current_record = 1, endfile = NO_ENDFILE, mode = WRITING,
  flags = {access = ACCESS_SEQUENTIAL, action = ACTION_READWRITE,
  blank = BLANK_NULL, delim = DELIM_NONE, form = FORM_FORMATTED,
  is_notpadded = 0, position = POSITION_ASIS, status = STATUS_UNSPECIFIED,
  pad = PAD_YES, convert = CONVERT_NATIVE}, recl = 36, last_record = 0,
  maxrec = 0, bytes_left = 0, lock = {__m_reserved = 0, __m_count = 0,
  __m_owner = 0x0, __m_kind = 0, __m_lock = {__spinlock = {lock = {0, 0, 0,
  0}}, __status = 0}}, waiting = 0, closed = 0, ls = 0x0, rank = 0,
  file_len = 0, file = 0x0}

The only unit numbers that I see being initialized are 5, 6 and 0.

Dave
-- 
J. David Anglin                                  dave.anglin at nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)



More information about the parisc-linux mailing list