AbstractController.cc (9745:884ad4638236) AbstractController.cc (9819:e4b12145f4eb)
1/*
2 * Copyright (c) 2011 Mark D. Hill and David A. Wood
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;

--- 168 unchanged lines hidden (view full) ---

177 wb_iter != wokeUpMsgVecs.end();
178 ++wb_iter) {
179 delete (*wb_iter);
180 }
181
182 m_waiting_buffers.clear();
183 }
184}
1/*
2 * Copyright (c) 2011 Mark D. Hill and David A. Wood
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;

--- 168 unchanged lines hidden (view full) ---

177 wb_iter != wokeUpMsgVecs.end();
178 ++wb_iter) {
179 delete (*wb_iter);
180 }
181
182 m_waiting_buffers.clear();
183 }
184}
185
186void
187AbstractController::blockOnQueue(Address addr, MessageBuffer* port)
188{
189 m_is_blocking = true;
190 m_block_map[addr] = port;
191}
192
193void
194AbstractController::unblock(Address addr)
195{
196 m_block_map.erase(addr);
197 if (m_block_map.size() == 0) {
198 m_is_blocking = false;
199 }
200}