diff options
author | Simon Jakobi <simon.jakobi@gmail.com> | 2018-03-02 16:13:26 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-03-02 16:13:28 -0500 |
commit | 6e4fa8175677c39441f1502c58a832e79570cb0d (patch) | |
tree | 34c4d767d3dad58be833a634f57e4ebc166f56ba /rts/win32 | |
parent | 5c28ee88dd66617b0fd5dbe0d90142ce983a547e (diff) | |
download | haskell-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.c | 33 |
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; |