diff --git a/System/Process/Windows.hsc b/System/Process/Windows.hsc
--- a/System/Process/Windows.hsc
+++ b/System/Process/Windows.hsc
@@ -330,10 +330,7 @@
     withProcessHandle ph $ \p_ -> do
         case p_ of
             ClosedHandle _ -> return ()
-            _ -> do let h = case p_ of
-                              OpenHandle x      -> x
-                              OpenExtHandle x _ -> x
-                              _                 -> error "interruptProcessGroupOfInternal"
+            _ -> do let h = phdlProcessHandle p_
 #if mingw32_HOST_OS
                     pid <- getProcessId h
                     generateConsoleCtrlEvent cTRL_BREAK_EVENT pid
diff --git a/cbits/runProcess.c b/cbits/runProcess.c
--- a/cbits/runProcess.c
+++ b/cbits/runProcess.c
@@ -875,6 +875,11 @@
           sizeof(JOBOBJECT_BASIC_PROCESS_ID_LIST),
           NULL);
 
+      if (!success) {
+          maperrno();
+          return false;
+      }
+
       if (!success && GetLastError() == ERROR_MORE_DATA) {
         process_count *= 2;
         free(pid_list);
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
 # Changelog for [`process` package](http://hackage.haskell.org/package/process)
 
+## 1.6.8.1 *March 2020*
+
+* Fix a few warnings on Windows.
+
 ## 1.6.8.0 *February 2020*
 
 * Fix several bugs on Windows where use of process jobs would result
diff --git a/process.cabal b/process.cabal
--- a/process.cabal
+++ b/process.cabal
@@ -1,5 +1,5 @@
 name:          process
-version:       1.6.8.0
+version:       1.6.8.1
 -- NOTE: Don't forget to update ./changelog.md
 license:       BSD3
 license-file:  LICENSE
