summaryrefslogtreecommitdiff
path: root/libpager/demuxer.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-07-01 02:12:43 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-07-01 02:12:43 +0000
commit13ea39a34766fcbecd96ab94bcdf798b08e9bb60 (patch)
tree1e1463b03838a6f36868a4dafc7e652358a51857 /libpager/demuxer.c
parent1f8d504f631531c199d7c6154a0dc442d80ea4a7 (diff)
parent7e15f3d69a83a34ac62cbbee944a0bfbfa92724e (diff)
Merge branch 'master' into xkb
Conflicts: config.make.in configure.in
Diffstat (limited to 'libpager/demuxer.c')
-rw-r--r--libpager/demuxer.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/libpager/demuxer.c b/libpager/demuxer.c
index d6b99fc2..79c0ddc5 100644
--- a/libpager/demuxer.c
+++ b/libpager/demuxer.c
@@ -1,5 +1,5 @@
/* Demuxer for pager library
- Copyright (C) 1994, 1995, 2002 Free Software Foundation
+ Copyright (C) 1994, 1995, 2002, 2011 Free Software Foundation
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -33,20 +33,8 @@ pager_demuxer (mach_msg_header_t *inp,
int result = _pager_seqnos_memory_object_server (inp, outp)
|| _pager_seqnos_notify_server (inp, outp);
if (!result)
- {
- struct pager *p;
-
- p = ports_lookup_port (0, inp->msgh_local_port, _pager_class);
- if (p)
- {
- /* Synchronize our bookkeeping of the port's seqno with
- the one consumed by this bogus message. */
- mutex_lock (&p->interlock);
- _pager_wait_for_seqno (p, inp->msgh_seqno);
- _pager_release_seqno (p, inp->msgh_seqno);
- mutex_unlock (&p->interlock);
- ports_port_deref (p);
- }
- }
+ /* Synchronize our bookkeeping of the port's seqno with the one consumed by
+ this bogus message. */
+ _pager_update_seqno (inp->msgh_local_port, inp->msgh_seqno);
return result;
}