summaryrefslogtreecommitdiff
path: root/jackd/transengine.c
diff options
context:
space:
mode:
authorjoq <joq@0c269be4-1314-0410-8aa9-9f06e86f4224>2003-08-23 01:28:18 +0000
committerjoq <joq@0c269be4-1314-0410-8aa9-9f06e86f4224>2003-08-23 01:28:18 +0000
commitb2e94862443047b2136926235218f71a7db33e14 (patch)
treee6463f6c959b32cc79e484d6c77d4dbc55fdde45 /jackd/transengine.c
parent9b012e06743f1840677d220a9581d6b9f572f5b8 (diff)
downloadjack1-b2e94862443047b2136926235218f71a7db33e14.tar.gz
close tiny timing window in position request
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@462 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'jackd/transengine.c')
-rw-r--r--jackd/transengine.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/jackd/transengine.c b/jackd/transengine.c
index 0beea0d..0c11914 100644
--- a/jackd/transengine.c
+++ b/jackd/transengine.c
@@ -348,15 +348,13 @@ jack_transport_cycle_end (jack_engine_t *engine)
/* See if an asynchronous position request arrived during the
* last cycle. The request_time could change during the
- * guarded copy. If so, we'll handle it now, but mistake it
- * for a new request in the following cycle. That may cause
- * an extra sync poll cycle, but should work. */
+ * guarded copy. If so, we'll use that new request. */
if (ectl->request_time.unique_1 != ectl->prev_request) {
- ectl->prev_request = ectl->request_time.unique_1;
jack_transport_copy_position(&ectl->request_time,
&ectl->pending_time);
VERBOSE (engine, "new transport position: %lu, id=0x%llx\n",
ectl->pending_time.frame, ectl->pending_time.unique_1);
+ ectl->prev_request = ectl->pending_time.unique_1;
ectl->new_pos = 1;
} else
ectl->new_pos = 0;