Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-warp for openSUSE:Factory checked in at 2025-06-04 20:29:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-warp (Old) and /work/SRC/openSUSE:Factory/.ghc-warp.new.16005 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-warp" Wed Jun 4 20:29:52 2025 rev:20 rq:1282765 version:3.4.8 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-warp/ghc-warp.changes 2024-12-20 23:12:08.040216642 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-warp.new.16005/ghc-warp.changes 2025-06-04 20:30:09.112957215 +0200 @@ -1,0 +2,9 @@ +Tue Jun 3 08:07:10 UTC 2025 - Peter Simons <psim...@suse.com> + +- Update warp to version 3.4.8. + ## 3.4.8 + + * Label the internal hack thread on Windows used to make socket + listening interruptible. + +------------------------------------------------------------------- Old: ---- warp-3.4.7.tar.gz New: ---- warp-3.4.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-warp.spec ++++++ --- /var/tmp/diff_new_pack.GqewwV/_old 2025-06-04 20:30:10.737024558 +0200 +++ /var/tmp/diff_new_pack.GqewwV/_new 2025-06-04 20:30:10.745024889 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-warp # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -20,7 +20,7 @@ %global pkgver %{pkg_name}-%{version} %bcond_with tests Name: ghc-%{pkg_name} -Version: 3.4.7 +Version: 3.4.8 Release: 0 Summary: A fast, light-weight web server for WAI applications License: MIT ++++++ warp-3.4.7.tar.gz -> warp-3.4.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warp-3.4.7/ChangeLog.md new/warp-3.4.8/ChangeLog.md --- old/warp-3.4.7/ChangeLog.md 2001-09-09 03:46:40.000000000 +0200 +++ new/warp-3.4.8/ChangeLog.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,10 @@ # ChangeLog for warp +## 3.4.8 + +* Label the internal hack thread on Windows used to make socket + listening interruptible. + ## 3.4.7 * Using time-manager >= 0.2. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warp-3.4.7/Network/Wai/Handler/Warp/FdCache.hs new/warp-3.4.8/Network/Wai/Handler/Warp/FdCache.hs --- old/warp-3.4.7/Network/Wai/Handler/Warp/FdCache.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/warp-3.4.8/Network/Wai/Handler/Warp/FdCache.hs 2001-09-09 03:46:40.000000000 +0200 @@ -41,7 +41,7 @@ ---------------------------------------------------------------- -- | Creating 'MutableFdCache' and executing the action in the second --- argument. The first argument is a cache duration in second. +-- argument. The first argument is a cache duration in microseconds. withFdCache :: Int -> ((FilePath -> IO (Maybe Fd, Refresh)) -> IO a) -> IO a #ifdef WINDOWS withFdCache _ action = action getFdNothing @@ -109,7 +109,7 @@ ---------------------------------------------------------------- --- The first argument is a cache duration in second. +-- The first argument is a cache duration in microseconds. initialize :: Int -> IO MutableFdCache initialize duration = MutableFdCache <$> mkReaper settings where diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warp-3.4.7/Network/Wai/Handler/Warp/FileInfoCache.hs new/warp-3.4.8/Network/Wai/Handler/Warp/FileInfoCache.hs --- old/warp-3.4.7/Network/Wai/Handler/Warp/FileInfoCache.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/warp-3.4.8/Network/Wai/Handler/Warp/FileInfoCache.hs 2001-09-09 03:46:40.000000000 +0200 @@ -90,7 +90,7 @@ -- | Creating a file information cache -- and executing the action in the second argument. --- The first argument is a cache duration in second. +-- The first argument is a cache duration in microseconds. withFileInfoCache :: Int -> ((FilePath -> IO FileInfo) -> IO a) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warp-3.4.7/Network/Wai/Handler/Warp/Run.hs new/warp-3.4.8/Network/Wai/Handler/Warp/Run.hs --- old/warp-3.4.7/Network/Wai/Handler/Warp/Run.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/warp-3.4.8/Network/Wai/Handler/Warp/Run.hs 2001-09-09 03:46:40.000000000 +0200 @@ -51,9 +51,6 @@ import Network.Wai.Handler.Warp.SendFile import Network.Wai.Handler.Warp.Settings import Network.Wai.Handler.Warp.Types -#if WINDOWS -import Network.Wai.Handler.Warp.Windows -#endif -- | Creating 'Connection' for plain HTTP based on a given socket. socketConnection :: Settings -> Socket -> IO Connection @@ -233,19 +230,19 @@ withII set action = withTimeoutManager $ \tm -> D.withDateCache $ \dc -> - F.withFdCache fdCacheDurationInSeconds $ \fdc -> - I.withFileInfoCache fdFileInfoDurationInSeconds $ \fic -> do + F.withFdCache fdCacheDurationInMicroseconds $ \fdc -> + I.withFileInfoCache fdFileInfoDurationInMicroseconds $ \fic -> do let ii = InternalInfo tm dc fdc fic action ii where - !fdCacheDurationInSeconds = settingsFdCacheDuration set * 1000000 - !fdFileInfoDurationInSeconds = settingsFileInfoCacheDuration set * 1000000 - !timeoutInSeconds = settingsTimeout set * 1000000 + !fdCacheDurationInMicroseconds = settingsFdCacheDuration set * 1000000 + !fdFileInfoDurationInMicroseconds = settingsFileInfoCacheDuration set * 1000000 + !timeoutInMicroseconds = settingsTimeout set * 1000000 withTimeoutManager f = case settingsManager set of Just tm -> f tm Nothing -> E.bracket - (T.initialize timeoutInSeconds) + (T.initialize timeoutInMicroseconds) T.stopManager f diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warp-3.4.7/Network/Wai/Handler/Warp/Windows.hs new/warp-3.4.8/Network/Wai/Handler/Warp/Windows.hs --- old/warp-3.4.7/Network/Wai/Handler/Warp/Windows.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/warp-3.4.8/Network/Wai/Handler/Warp/Windows.hs 2001-09-09 03:46:40.000000000 +0200 @@ -9,7 +9,7 @@ import Control.Concurrent import qualified Control.Exception -import Network.Wai.Handler.Warp.Imports +import GHC.Conc (labelThread) -- | Allow main socket listening thread to be interrupted on Windows platform -- @@ -18,7 +18,8 @@ windowsThreadBlockHack act = do var <- newEmptyMVar :: IO (MVar (Either Control.Exception.SomeException a)) -- Catch and rethrow even async exceptions, so don't bother with UnliftIO - void . forkIO $ Control.Exception.try act >>= putMVar var + threadId <- forkIO $ Control.Exception.try act >>= putMVar var + labelThread threadId "Windows Thread Block Hack (warp)" res <- takeMVar var case res of Left e -> Control.Exception.throwIO e diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/warp-3.4.7/warp.cabal new/warp-3.4.8/warp.cabal --- old/warp-3.4.7/warp.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/warp-3.4.8/warp.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,6 +1,6 @@ cabal-version: >=1.10 name: warp -version: 3.4.7 +version: 3.4.8 license: MIT license-file: LICENSE maintainer: mich...@snoyman.com