summaryrefslogtreecommitdiff
path: root/rts/win32
diff options
context:
space:
mode:
authorSimon Jakobi <simon.jakobi@gmail.com>2018-03-02 16:13:26 -0500
committerBen Gamari <ben@smart-cactus.org>2018-03-02 16:13:28 -0500
commit6e4fa8175677c39441f1502c58a832e79570cb0d (patch)
tree34c4d767d3dad58be833a634f57e4ebc166f56ba /rts/win32
parent5c28ee88dd66617b0fd5dbe0d90142ce983a547e (diff)
downloadhaskell-6e4fa8175677c39441f1502c58a832e79570cb0d.tar.gz
rts/win32: Assert that the IO manager has been initialised
Reviewers: bgamari, erikd, simonmar Reviewed By: bgamari Subscribers: rwbarton, thomie, carter Differential Revision: https://phabricator.haskell.org/D4450
Diffstat (limited to 'rts/win32')
-rw-r--r--rts/win32/IOManager.c33
1 files changed, 15 insertions, 18 deletions
diff --git a/rts/win32/IOManager.c b/rts/win32/IOManager.c
index 216e7253e8..f155180ef3 100644
--- a/rts/win32/IOManager.c
+++ b/rts/win32/IOManager.c
@@ -435,13 +435,12 @@ AddIORequest ( int fd,
char* buffer,
CompletionProc onCompletion)
{
+ ASSERT(ioMan);
+
WorkItem* wItem = (WorkItem*)malloc(sizeof(WorkItem));
- unsigned int reqID;
- if (!ioMan || !wItem) {
- free(wItem);
- return 0;
- }
- reqID = ioMan->requestID++;
+ if (!wItem) return 0;
+
+ unsigned int reqID = ioMan->requestID++;
/* Fill in the blanks */
wItem->workKind = ( isSocket ? WORKER_FOR_SOCKET : 0 ) |
@@ -467,13 +466,12 @@ BOOL
AddDelayRequest ( HsInt usecs,
CompletionProc onCompletion)
{
+ ASSERT(ioMan);
+
WorkItem* wItem = (WorkItem*)malloc(sizeof(WorkItem));
- unsigned int reqID;
- if (!ioMan || !wItem) {
- free(wItem);
- return false;
- }
- reqID = ioMan->requestID++;
+ if (!wItem) return false;
+
+ unsigned int reqID = ioMan->requestID++;
/* Fill in the blanks */
wItem->workKind = WORKER_DELAY;
@@ -495,13 +493,12 @@ AddProcRequest ( void* proc,
void* param,
CompletionProc onCompletion)
{
+ ASSERT(ioMan);
+
WorkItem* wItem = (WorkItem*)malloc(sizeof(WorkItem));
- unsigned int reqID;
- if (!ioMan || !wItem) {
- free(wItem);
- return false;
- }
- reqID = ioMan->requestID++;
+ if (!wItem) return false;
+
+ unsigned int reqID = ioMan->requestID++;
/* Fill in the blanks */
wItem->workKind = WORKER_DO_PROC;