gem5/src/base
Andreas Sandberg c033ead992 base: Fix race in PollQueue and remove SIGALRM workaround
There is a race between enabling asynchronous IO for a file descriptor
and IO events happening on that descriptor. A SIGIO won't normally be
delivered if an event is pending when asynchronous IO is
enabled. Instead, the signal will be raised the next time there is an
event on the FD. This changeset simulates a SIGIO by setting the
async_io flag when setting up asynchronous IO for an FD. This causes
the main event loop to poll all file descriptors to check for pending
IO. As a consequence of this, the old SIGALRM hack should no longer be
needed and is therefore removed.
2013-11-29 14:36:10 +01:00
..
loader loader: Load weak symbols for function tracing 2013-07-15 18:08:57 -04:00
stats base: Fix VectorPrint initialisation 2013-08-20 11:21:26 -04:00
vnc arch: Header clean up for NOISA resurrection 2013-09-04 13:22:55 -04:00
addr_range.hh base: Fix address range granularity calculation 2013-06-27 05:49:49 -04:00
addr_range_map.hh mem: Add interleaving bits to the address ranges 2013-01-07 13:05:38 -05:00
atomicio.cc types: clean up types, especially signed vs unsigned 2009-06-04 23:21:12 -07:00
atomicio.hh atomicio: provide atomic read and write functions. 2008-09-19 09:42:31 -07:00
barrier.hh sim: simulate with multiple threads and event queues 2013-11-25 11:21:00 -06:00
bigint.cc build: fix compile problems pointed out by gcc 4.4 2009-11-04 16:57:01 -08:00
bigint.hh build: fix compile problems pointed out by gcc 4.4 2009-11-04 16:57:01 -08:00
bitfield.hh ARM: Add a findLsbSet function and use it to implement clz. 2009-07-01 22:16:36 -07:00
bitmap.cc gcc: Clean-up of non-C++0x compliant code, first steps 2012-03-19 06:36:09 -04:00
bitmap.hh VNC: Add support for capturing frame buffer to file each time it is changed. 2011-12-01 00:15:26 -08:00
bitunion.hh BitUnion: Add more constiness. 2009-06-21 16:40:33 -07:00
callback.cc gcc: Clean-up of non-C++0x compliant code, first steps 2012-03-19 06:36:09 -04:00
callback.hh callback: Make helper functions that create callback objects for you 2010-04-18 13:23:25 -07:00
cast.hh safe_cast: add a new cast function for casts that should always succeed. 2008-11-10 11:51:17 -08:00
chunk_generator.hh types: clean up types, especially signed vs unsigned 2009-06-04 23:21:12 -07:00
circlebuf.cc gcc: Add extra parens to quell warnings. 2008-09-27 21:03:49 -07:00
circlebuf.hh Updated Authors from bk prs info 2006-05-31 19:26:56 -04:00
compiler.hh scons: Enforce gcc >= 4.4 or clang >= 2.9 and c++0x support 2013-01-07 13:05:39 -05:00
condcodes.hh Condition Codes: Fix the findParity function. 2007-09-25 20:26:10 -07:00
cp_annotate.cc includes: sort all includes 2011-04-15 10:44:06 -07:00
cp_annotate.hh includes: sort all includes 2011-04-15 10:44:06 -07:00
CPA.py sim: Include object header files in SWIG interfaces 2012-11-02 11:32:01 -05:00
cprintf.cc base: Fix a few incorrectly handled print format cases 2012-11-02 11:32:00 -05:00
cprintf.hh base: Fix a few incorrectly handled print format cases 2012-11-02 11:32:00 -05:00
cprintf_formats.hh cprintf: support a configurable width and precision ("*" in printf) 2008-12-03 04:57:54 -08:00
date.cc Updated Authors from bk prs info 2006-05-31 19:26:56 -04:00
debug.cc scons: Add warning for missing declarations 2013-02-19 05:56:07 -05:00
debug.hh scons: Add warning for missing declarations 2013-02-19 05:56:07 -05:00
fenv.c includes: sort all includes 2011-04-15 10:44:06 -07:00
fenv.hh create base/fenv.c to standerdize fenv across platforms. It's a c file and not a cpp file because c99 2007-04-21 17:50:47 -04:00
flags.hh flags: Change naming of functions to be clearer 2008-12-06 14:18:18 -08:00
hashmap.hh scons: Enable build on OSX 2013-09-04 13:22:54 -04:00
hostinfo.cc scons: Add warning for missing declarations 2013-02-19 05:56:07 -05:00
hostinfo.hh scons: Add warning for missing declarations 2013-02-19 05:56:07 -05:00
inet.cc base: Add support for ipv6 into inet.hh/inet.cc 2013-10-31 13:41:13 -05:00
inet.hh base: Add support for ipv6 into inet.hh/inet.cc 2013-10-31 13:41:13 -05:00
inifile.cc scons: Fix up numerous warnings about name shadowing 2013-02-19 05:56:06 -05:00
inifile.hh inifile: Whack preprocessor access. 2008-09-19 09:11:40 -07:00
intmath.cc Updated Authors from bk prs info 2006-05-31 19:26:56 -04:00
intmath.hh Bus: Replace tickNextIdle and inRetry with a state variable 2012-07-09 12:35:35 -04:00
match.cc types: clean up types, especially signed vs unsigned 2009-06-04 23:21:12 -07:00
match.hh Updated Authors from bk prs info 2006-05-31 19:26:56 -04:00
misc.cc Misc: Remove the URL from warnings, fatals, panics, etc. 2011-05-29 21:48:58 -07:00
misc.hh Rename the info function to inform to avoid likely name conflicts 2008-10-10 12:17:53 -07:00
mod_num.hh Updated Authors from bk prs info 2006-05-31 19:26:56 -04:00
output.cc scons: Fix up numerous warnings about name shadowing 2013-02-19 05:56:06 -05:00
output.hh mem: Add tracing support in the communication monitor 2013-01-07 13:05:37 -05:00
pollevent.cc base: Fix race in PollQueue and remove SIGALRM workaround 2013-11-29 14:36:10 +01:00
pollevent.hh base: Clean up signal handling 2013-11-29 14:35:36 +01:00
printable.hh Additional comments and helper functions for PrintReq. 2008-01-02 13:46:22 -08:00
random.cc Base: Fixed shift amount in genrand() to work with large numbers 2012-01-09 18:08:20 -06:00
random.hh AddrRange: Transition from Range<T> to AddrRange 2012-09-19 06:15:44 -04:00
random_mt.cc copyright: clean up copyright blocks 2011-06-02 14:36:35 -07:00
refcnt.hh refcnt: Update doxygen comments 2011-04-13 09:32:19 -07:00
remote_gdb.cc NetBSD: Build on NetBSD 2012-09-10 11:57:42 -04:00
remote_gdb.hh MEM: Enable multiple distributed generalized memories 2012-04-06 13:46:31 -04:00
SConscript arch: Resurrect the NOISA build target and rename it NULL 2013-09-04 13:22:57 -04:00
socket.cc includes: sort all includes 2011-04-15 10:44:06 -07:00
socket.hh sockets: Add a function to disable all listening sockets. 2008-08-03 18:19:55 -07:00
statistics.cc stats: adds a Formula operator for division 2013-09-06 16:21:29 -05:00
statistics.hh stats: add operator= for DataWrapVec class 2013-09-09 18:52:23 -05:00
stl_helpers.hh clang: Enable compiling gem5 using clang 2.9 and 3.0 2012-01-31 12:05:52 -05:00
str.cc gcc: Clean-up of non-C++0x compliant code, first steps 2012-03-19 06:36:09 -04:00
str.hh str: add an overloaded startswith() utility method 2012-08-06 16:52:49 -07:00
time.cc ARM: Add RTC device for ARM platforms. 2012-03-01 17:26:31 -06:00
time.hh ARM: Add RTC device for ARM platforms. 2012-03-01 17:26:31 -06:00
trace.cc Trace: FIx issue with creation of trace file with output dir overhaul. 2011-12-01 17:36:22 -08:00
trace.hh trace: reimplement the DTRACE function so it doesn't use a vector 2011-04-15 10:44:32 -07:00
trie.hh base: Include cassert in trie.hh. 2012-04-22 05:20:44 -07:00
types.cc ruby: replace Time with Cycles in Message class 2013-02-10 21:26:24 -06:00
types.hh ruby: replace Time with Cycles in Message class 2013-02-10 21:26:24 -06:00
userinfo.cc scons: Add warning for missing declarations 2013-02-19 05:56:07 -05:00
userinfo.hh Updated Authors from bk prs info 2006-05-31 19:26:56 -04:00
varargs.hh Make commenting on close namespace brackets consistent. 2011-01-03 14:35:43 -08:00