summaryrefslogtreecommitdiff
path: root/rts/win32/IOManager.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix cppcheck warningsBoris Egorov2014-09-161-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Cppcheck found a few defects in win32 IOManager and a typo in rts testsuite. This commit fixes them. Cppcheck 1.54 founds three possible null pointer dereferences of ioMan pointer. It is dereferenced and checked for NULL after that. testheapalloced.c contains typo in printf statement, which should print percent sign but treated as parameter placement by compiler. To properly print percent sign one need to use "%%" string. FYI: Cppcheck 1.66 cannot find possible null pointer dereferences in mentioned places, mistakenly thinking that some memory leaking instead. I probably fill a regression bug to Cppcheck. Test Plan: Build project, run 'make fulltest'. It finished with 28 unexpected failures. I don't know if they are related to my fix. Unexpected results from: TEST="T3500b T7891 tc124 T7653 T5321FD T5030 T4801 T6048 T5631 T5837 T5642 T9020 T3064 parsing001 T1969 T5321Fun T783 T3294" OVERALL SUMMARY for test run started at Tue Sep 9 16:46:27 2014 NOVT 4:23:24 spent to go through 4101 total tests, which gave rise to 16075 test cases, of which 3430 were skipped 315 had missing libraries 12154 expected passes 145 expected failures 3 caused framework failures 0 unexpected passes 28 unexpected failures Unexpected failures: ../../libraries/base/tests T7653 [bad exit code] (ghci,threaded1,threaded2) perf/compiler T1969 [stat not good enough] (normal) perf/compiler T3064 [stat not good enough] (normal) perf/compiler T3294 [stat not good enough] (normal) perf/compiler T4801 [stat not good enough] (normal) perf/compiler T5030 [stat not good enough] (normal) perf/compiler T5321FD [stat not good enough] (normal) perf/compiler T5321Fun [stat not good enough] (normal) perf/compiler T5631 [stat not good enough] (normal) perf/compiler T5642 [stat not good enough] (normal) perf/compiler T5837 [stat not good enough] (normal) perf/compiler T6048 [stat not good enough] (optasm) perf/compiler T783 [stat not good enough] (normal) perf/compiler T9020 [stat not good enough] (optasm) perf/compiler parsing001 [stat not good enough] (normal) typecheck/should_compile T7891 [exit code non-0] (hpc,optasm,optllvm) typecheck/should_compile tc124 [exit code non-0] (hpc,optasm,optllvm) typecheck/should_run T3500b [exit code non-0] (hpc,optasm,threaded2,dyn,optllvm) Reviewers: austin Reviewed By: austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D203
* rts: add Emacs 'Local Variables' to every .c fileAustin Seipp2014-07-281-0/+8
| | | | | | | | This will hopefully help ensure some basic consistency in the forward by overriding buffer variables. In particular, it sets the wrap length, the offset to 4, and turns off tabs. Signed-off-by: Austin Seipp <austin@well-typed.com>
* rts: delint/detab/dewhitespace win32/IOManager.cAustin Seipp2014-07-281-259/+286
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* commentsSimon Marlow2013-02-071-1/+11
|
* Fix threadDelay on Windows; fixes ThreadDelay001 failuresIan Lynagh2013-02-061-2/+24
| | | | | | | | MSDN says of Sleep: If dwMilliseconds is greater than one tick but less than two, the wait can be anywhere between one and two ticks, and so on. so we need to add (milliseconds-per-tick - 1) to the amount of time we sleep for.
* Use usecs rather than msecs for microsecondsIan Lynagh2013-02-051-4/+4
| | | | We were using "us" elsewhere, so this was inconsistent.
* Fix warnings on Win64Ian Lynagh2012-04-261-1/+1
| | | | | | Mostly this meant getting pointer<->int conversions to use the right sizes. lnat is now size_t, rather than unsigned long, as that seems a better match for how it's used.
* errno corresponding to ERROR_NO_DATA should be EPIPE (non-threaded RTS)Simon Marlow2010-09-151-1/+10
|
* On Windows, Delete the CriticalSection's we InitializeIan Lynagh2007-11-251-0/+2
|
* FIX #1177, partially at least.Simon Marlow2007-07-251-13/+15
| | | | | | | | | | | Now we don't wait for outstanding IO requests when shutting down at program exit time, but we still wait when shutting down a DLL (via hs_exit()). There ought to be a better way to do this, but terminating the threads forcibly is not a good idea (it never is: the thread might be holding a mutex when it dies, for example). I plan to add some docs to the user guide to describe how to shut down a DLL properly.
* Fix sleep delay for the non-threaded Windows RTSSimon Marlow2007-02-201-1/+1
| | | | | This is the Windows counterpart to "Make the non-threaded-RTS threadDelay wait at least as long as asked"
* Remove the Windows Async IO Manager completely in THREADED_RTS modeSimon Marlow2006-12-011-0/+5
| | | | | It isn't used here anyway, just making sure the code doesn't get compiled in.
* oops, got the sense of the error case wrongSimon Marlow2006-08-291-1/+1
|
* fix some rerrors in the worker countingSimon Marlow2006-08-291-6/+10
|
* Free Win32 Handles on shutdownSimon Marlow2006-08-251-6/+20
| | | | patch from #878
* Reorganisation of the source treeSimon Marlow2006-04-071-0/+510
Most of the other users of the fptools build system have migrated to Cabal, and with the move to darcs we can now flatten the source tree without losing history, so here goes. The main change is that the ghc/ subdir is gone, and most of what it contained is now at the top level. The build system now makes no pretense at being multi-project, it is just the GHC build system. No doubt this will break many things, and there will be a period of instability while we fix the dependencies. A straightforward build should work, but I haven't yet fixed binary/source distributions. Changes to the Building Guide will follow, too.