summaryrefslogtreecommitdiff
path: root/libpager/seqnos.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2014-04-04 22:57:30 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2014-04-04 22:57:30 +0200
commit7b31485553ed6a1cbc1ddde0ae3e678e404d1f97 (patch)
tree8e7476d8aefd478e2ab6a72b5bcad49ce48817c4 /libpager/seqnos.c
parent58f78ea0c81a106cb2b9220eb9290bef15466cd9 (diff)
parentb7cbdde8854ee4c51ec9cd49ce639bd02d646355 (diff)
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
Diffstat (limited to 'libpager/seqnos.c')
-rw-r--r--libpager/seqnos.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/libpager/seqnos.c b/libpager/seqnos.c
index 77bfbf21..cab2f33d 100644
--- a/libpager/seqnos.c
+++ b/libpager/seqnos.c
@@ -57,13 +57,23 @@ _pager_update_seqno (mach_port_t object,
struct pager *p;
p = ports_lookup_port (0, object, _pager_class);
+ _pager_update_seqno_p (p, seqno);
if (p)
+ ports_port_deref (p);
+}
+
+
+/* Just update the seqno, pointer version. */
+void
+_pager_update_seqno_p (struct pager *p,
+ mach_port_seqno_t seqno)
+{
+ if (p
+ && p->port.class == _pager_class)
{
pthread_mutex_lock (&p->interlock);
_pager_wait_for_seqno (p, seqno);
_pager_release_seqno (p, seqno);
pthread_mutex_unlock (&p->interlock);
-
- ports_port_deref (p);
}
}