Title: s/Backwards/Retro/, then LGTM ;) (ok, ok, LGTM as is, if you want)

Thanks,

Guido

On Mon, Apr 8, 2013 at 11:18 AM, Michele Tartara <[email protected]> wrote:
> The code introduced by the previous commit triggered a possible library
> conflict in Ubuntu Lucid.
>
> This patch introduces an equivalent but more widely acceptable version of
> the same code.
>
> Signed-off-by: Michele Tartara <[email protected]>
> ---
>  src/Ganeti/JQueue.hs | 17 ++++++++++++++++-
>  1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/src/Ganeti/JQueue.hs b/src/Ganeti/JQueue.hs
> index e439aa2..828e662 100644
> --- a/src/Ganeti/JQueue.hs
> +++ b/src/Ganeti/JQueue.hs
> @@ -230,9 +230,24 @@ determineJobDirectories rootdir archived = do
>               else return []
>    return $ rootdir:other
>
> +-- Function equivalent to the \'sequence\' function, that cannot be used 
> because
> +-- of library version conflict on Lucid.
> +-- FIXME: delete this and just use \'sequence\' instead when Lucid 
> compatibility
> +-- will not be required anymore.
> +sequencer :: [Either IOError [JobId]] -> Either IOError [[JobId]]
> +sequencer l = fmap reverse $ foldl seqFolder (Right []) l
> +
> +-- | Folding function for joining multiple [JobIds] into one list.
> +seqFolder :: Either IOError [[JobId]]
> +          -> Either IOError [JobId]
> +          -> Either IOError [[JobId]]
> +seqFolder (Left e) _ = Left e
> +seqFolder (Right _) (Left e) = Left e
> +seqFolder (Right l) (Right el) = Right $ el:l
> +
>  -- | Computes the list of all jobs in the given directories.
>  getJobIDs :: [FilePath] -> IO (Either IOError [JobId])
> -getJobIDs paths = liftM (fmap concat . sequence) (mapM getDirJobIDs paths)
> +getJobIDs paths = liftM (fmap concat . sequencer) (mapM getDirJobIDs paths)
>
>  -- | Sorts the a list of job IDs.
>  sortJobIDs :: [JobId] -> [JobId]
> --
> 1.8.1.3
>



-- 
Guido Trotter
Ganeti engineering
Google Germany

Reply via email to