diff options
Diffstat (limited to 'libpager/demuxer.c')
-rw-r--r-- | libpager/demuxer.c | 20 |
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; } |