Base WG Resolution Ref: bwg96-13
Topic: EDEADLCK


This is an approved Base Working Group Resolution for XSH Issue 5.

Last update: 23 February,1998


								Eastwood #13

 _____________________________________________________________________________

	Topic:			EDEADLCK
	Relevant Sections:	pthread_rwlock_rdrlock
	Spec:			XSH Issue 5

Resolution Request:
-------------------

There appears to be a contradiction in pthread_rwlock_rdlock
(Note Sanity draft page numbers quoted)

Page 647 ll 21609-21610 states:
(pthread_rwlock_rdlock())...  "Results are undefined if the calling
thread holds a write lock on rwlock at the time the call is made."

It then states on ll 21632:

The pthread_rwlock_rdlock() and ... functions may fail:

ll 21635

[EDEADLCK] The current thread already owns the read-write lock for writing

This would seem to be a contradiction, between saying its undefined
and then defining a may fail situation. 



Similarly  pthread_rwlock_wrlock() has a problem:

page 651 ll 21717-21718 states:

Results are undefined if the calling thread holds a read-write lock
(whether a read or a write lock) at the time the call is made.

And ll 21740

pthread_rwlock_wrlock may fail:

[EDEADLCK] The current thread already owns the read-write lock
for writing or reading.





Resolution Response
-------------------

There is no conflict as written, the results are undefined.
No change is required to the specification.

Rationale
-------------
None.
Forwarded to Base group: Dec 11 1996
Approved: Feb 1998