diff options
author | Thomas Schwinge <thomas@schwinge.name> | 2011-11-24 09:42:28 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@schwinge.name> | 2011-11-24 09:42:28 +0100 |
commit | 3253311ede487203c84fab4f8af696671f0f6568 (patch) | |
tree | a76e66c052e02409aa08a9ea57ccb4d319d2eec7 /libpager/demuxer.c | |
parent | 473aaa2d4d27ee40b00bcb64b8f6f6450a61209e (diff) | |
parent | ac67fbb6e2a503e27a579bdd92bfcd180f377ac4 (diff) |
Merge remote-tracking branch 'darnassus/master'
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; } |