1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 2# Copyright (c) 2009 The Hewlett-Packard Development Company 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are 7# met: redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer; --- 707 unchanged lines hidden (view full) --- 716 m_waiting_buffers[addr] = msgVec; 717 } 718 (*(m_waiting_buffers[addr]))[m_cur_in_port_rank] = buf; 719} 720 721void 722$c_ident::wakeUpBuffers(Address addr) 723{ |
724 if (m_waiting_buffers.count(addr) > 0) { 725 // 726 // Wake up all possible lower rank (i.e. lower priority) buffers that could 727 // be waiting on this message. 728 // 729 for (int in_port_rank = m_cur_in_port_rank - 1; 730 in_port_rank >= 0; 731 in_port_rank--) { 732 if ((*(m_waiting_buffers[addr]))[in_port_rank] != NULL) { 733 (*(m_waiting_buffers[addr]))[in_port_rank]->reanalyzeMessages(addr); 734 } |
735 } |
736 delete m_waiting_buffers[addr]; 737 m_waiting_buffers.erase(addr); |
738 } |
739} 740 741void 742$c_ident::wakeUpAllBuffers() 743{ 744 // 745 // Wake up all possible buffers that could be waiting on any message. 746 // --- 893 unchanged lines hidden --- |