Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghc-concurrent-output for 
openSUSE:Factory checked in at 2022-02-11 23:08:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-concurrent-output (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-concurrent-output.new.1956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-concurrent-output"

Fri Feb 11 23:08:42 2022 rev:4 rq:953446 version:1.10.15

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/ghc-concurrent-output/ghc-concurrent-output.changes  
    2020-12-22 11:37:45.005396908 +0100
+++ 
/work/SRC/openSUSE:Factory/.ghc-concurrent-output.new.1956/ghc-concurrent-output.changes
    2022-02-11 23:10:38.767160567 +0100
@@ -1,0 +2,25 @@
+Fri Feb  4 19:33:16 UTC 2022 - Peter Simons <[email protected]>
+
+- Update concurrent-output to version 1.10.15.
+  concurrent-output (1.10.15) unstable; urgency=medium
+
+    * Allow text-2.0
+
+   -- Joey Hess <[email protected]>  Fri, 04 Feb 2022 15:32:58 -0400
+
+  concurrent-output (1.10.14) unstable; urgency=medium
+
+    * Allow ansi-terminal-0.11.1.
+
+   -- Joey Hess <[email protected]>  Wed, 24 Nov 2021 09:18:20 -0400
+
+  concurrent-output (1.10.13) unstable; urgency=medium
+
+    * outputConcurrent and errorConcurrent are now safe to call from a thread
+      that receives async exceptions.
+    * Fix compilation with GHC head.
+      (Thanks, Ellie Hermaszewska)
+
+   -- Joey Hess <[email protected]>  Mon, 22 Nov 2021 11:19:21 -0400
+
+-------------------------------------------------------------------

Old:
----
  concurrent-output-1.10.12.tar.gz

New:
----
  concurrent-output-1.10.15.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-concurrent-output.spec ++++++
--- /var/tmp/diff_new_pack.BT2vZv/_old  2022-02-11 23:10:39.183161771 +0100
+++ /var/tmp/diff_new_pack.BT2vZv/_new  2022-02-11 23:10:39.187161783 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-concurrent-output
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %global pkg_name concurrent-output
 Name:           ghc-%{pkg_name}
-Version:        1.10.12
+Version:        1.10.15
 Release:        0
 Summary:        Ungarble output from several threads or commands
 License:        BSD-2-Clause

++++++ concurrent-output-1.10.12.tar.gz -> concurrent-output-1.10.15.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/concurrent-output-1.10.12/CHANGELOG 
new/concurrent-output-1.10.15/CHANGELOG
--- old/concurrent-output-1.10.12/CHANGELOG     2020-06-10 23:28:54.000000000 
+0200
+++ new/concurrent-output-1.10.15/CHANGELOG     2001-09-09 03:46:40.000000000 
+0200
@@ -1,3 +1,24 @@
+concurrent-output (1.10.15) unstable; urgency=medium
+
+  * Allow text-2.0
+
+ -- Joey Hess <[email protected]>  Fri, 04 Feb 2022 15:32:58 -0400
+
+concurrent-output (1.10.14) unstable; urgency=medium
+
+  * Allow ansi-terminal-0.11.1.
+
+ -- Joey Hess <[email protected]>  Wed, 24 Nov 2021 09:18:20 -0400
+
+concurrent-output (1.10.13) unstable; urgency=medium
+
+  * outputConcurrent and errorConcurrent are now safe to call from a thread
+    that receives async exceptions.
+  * Fix compilation with GHC head.
+    (Thanks, Ellie Hermaszewska)
+
+ -- Joey Hess <[email protected]>  Mon, 22 Nov 2021 11:19:21 -0400
+
 concurrent-output (1.10.12) unstable; urgency=medium
 
   * Bugfix: createProcessConcurrent would sometimes send the process's
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/concurrent-output-1.10.12/System/Console/Concurrent/Internal.hs 
new/concurrent-output-1.10.15/System/Console/Concurrent/Internal.hs
--- old/concurrent-output-1.10.12/System/Console/Concurrent/Internal.hs 
2020-06-10 23:28:54.000000000 +0200
+++ new/concurrent-output-1.10.15/System/Console/Concurrent/Internal.hs 
2001-09-09 03:46:40.000000000 +0200
@@ -168,7 +168,12 @@
 errorConcurrent = outputConcurrent' StdErr
 
 outputConcurrent' :: Outputable v => StdHandle -> v -> IO ()
-outputConcurrent' stdh v = bracket setup cleanup go
+outputConcurrent' stdh v = do
+       -- Use a worker thread. This is so any async exception that
+       -- is thrown to the current thread does not affect
+       -- tryTakeOutputLock, which is not async exception safe.
+       worker <- async $ bracket setup cleanup go
+       wait worker
   where
        setup = tryTakeOutputLock
        cleanup False = return ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/concurrent-output-1.10.12/System/Console/Regions.hs 
new/concurrent-output-1.10.15/System/Console/Regions.hs
--- old/concurrent-output-1.10.12/System/Console/Regions.hs     2020-06-10 
23:28:54.000000000 +0200
+++ new/concurrent-output-1.10.15/System/Console/Regions.hs     2001-09-09 
03:46:40.000000000 +0200
@@ -130,7 +130,7 @@
 import System.IO
 import System.IO.Unsafe (unsafePerformIO)
 import Text.Read
-import Data.List
+import Data.List (intercalate, nubBy)
 #ifndef mingw32_HOST_OS
 import System.Posix.Signals
 import System.Posix.Signals.Exts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/concurrent-output-1.10.12/TODO 
new/concurrent-output-1.10.15/TODO
--- old/concurrent-output-1.10.12/TODO  2020-06-10 23:28:54.000000000 +0200
+++ new/concurrent-output-1.10.15/TODO  2001-09-09 03:46:40.000000000 +0200
@@ -1,9 +1,37 @@
+* System.Console.Regions handling of outputConcurrent and errorConcurrent
+  when the output lacks a newline is surprising. The output may never be
+  displayed. A better approach:
+
+  When output arrives that lacks a newline, allocate a region for it
+  and buffer it in that region, so it displays immediately and more
+  output will go to the same region. When a newline arrives, close the
+  region and scroll up the completed line the same way any completed region
+  is displayed.
+
 * Parts of System.Console.Concurrent may not be async exception safe.
 
   If a thread is running an action from that module and an async exception
   is sent to it, it may result in a deadlock or other problem.
 
-  (System.Console.Regions has been made safe.)
+  (System.Console.Regions has been made safe,
+  also outputConcurrent and errorConcurrent.)
+
+  Particularly problematic is takeOutputLock', which takes the lock
+  and then outputs buffers to the console. If the emitOutputBuffer
+  calls are interrupted by async exception, it will be left locked
+  and the buffered output is also lost. But masking them is not good
+  because emitOutputBuffer could run for a long time in some situations.
+
+  fgProcess and bgProcess also do stuff with 
registerOutputThread/unregisterOutputThread
+  that may not be async exception safe. 
+
+  And createProcessForeground uses takeOutputLock but then calls fgProcess,
+  which could be interrupted (during its call to registerOutputThread)
+  before it starts the async thread that drops the lock.
+
+  One approach to all this might be to fork off a worker thread,
+  which will thus be immune to any async exception directed at the calling
+  thread.
 
 * Calling setConsoleRegion with something that throws an error
   will cause no further display updates to happen.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/concurrent-output-1.10.12/concurrent-output.cabal 
new/concurrent-output-1.10.15/concurrent-output.cabal
--- old/concurrent-output-1.10.12/concurrent-output.cabal       2020-06-10 
23:28:54.000000000 +0200
+++ new/concurrent-output-1.10.15/concurrent-output.cabal       2001-09-09 
03:46:40.000000000 +0200
@@ -1,11 +1,11 @@
 Name: concurrent-output
-Version: 1.10.12
+Version: 1.10.15
 Cabal-Version: >= 1.10
 License: BSD2
 Maintainer: Joey Hess <[email protected]>
 Author: Joey Hess, Joachim Breitner
 Stability: Stable
-Copyright: 2015-2020 Joey Hess, 2009 Joachim Breitner
+Copyright: 2015-2021 Joey Hess, 2009 Joachim Breitner
 License-File: LICENSE
 Build-Type: Simple
 Category: User Interfaces
@@ -29,17 +29,17 @@
   stmdemo.hs
 
 Library
-  Default-Language: Haskell98
+  Default-Language: Haskell2010
   GHC-Options: -Wall -fno-warn-tabs -O2
   Build-Depends: base (>= 4.6), base < 5
-    , text (>= 0.11.0 && < 1.3.0)
+    , text (>= 0.11.0 && < 2.1)
     , async (>= 2.0 && < 2.3)
     , stm (>= 2.0 && < 2.6)
     , process (>= 1.6.0 && < 1.7.0)
     , directory (>= 1.2.0 && < 1.4.0)
     , transformers (>= 0.3.0 && < 0.6.0)
     , exceptions (>= 0.6.0 && < 0.11.0)
-    , ansi-terminal (>= 0.6.0 && < 0.11.0)
+    , ansi-terminal (>= 0.6.0 && < 0.12.0)
     , terminal-size (>= 0.3.0 && < 0.4.0)
   Exposed-Modules:
     System.Console.Concurrent

Reply via email to