summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorReinhard Nißl <rnissl@gmx.de>2007-04-12 22:14:06 +0200
committerReinhard Nißl <rnissl@gmx.de>2007-04-12 22:14:06 +0200
commitb4304f243c6006eec3ca4b4ce2b19cfca703861a (patch)
treee6b00eb9566334c35b6f1f5285c1cae675c7b821 /m4
parentc552e457732c3c7b84b66ed8548713be52561487 (diff)
downloadxine-lib-b4304f243c6006eec3ca4b4ce2b19cfca703861a.tar.gz
xine-lib-b4304f243c6006eec3ca4b4ce2b19cfca703861a.tar.bz2
Extend ticket system for nonblocking ticket acquiries.
The current code has a race condition which can block arbitrary threads that call for example xine_get_current_frame() until the stream gets unpaused again. This can happen when the internal ticket acquiration collides with a ticket revokation for example when another thread is going to pause the stream. There are a few situations where a port ticket needs to be acquired for calling a port function but where it is absolutely undesireable to get blocked for an undetermined period of time. Therefore the ticket system should be extended by nonblocking functions which allow ticket acquiration even when a ticket revokation is in progress. And in the case where blocking is not avoidable, it should simply be indicated that no ticket was acquired. The caller can then choose to repeat the call at a later point in time.
Diffstat (limited to 'm4')
0 files changed, 0 insertions, 0 deletions