sysvinit-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sysvinit-devel] [patch] Get startpar building with clang


From: Dr. Werner Fink
Subject: Re: [sysvinit-devel] [patch] Get startpar building with clang
Date: Thu, 10 Apr 2014 22:53:05 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Apr 10, 2014 at 08:01:35PM +0200, Petter Reinholdtsen wrote:
> [Dr. Werner Fink]
> > Not that I'm aware ... AFAIK the TEMP_FAILURE_RETRY() macro can not
> > be handled this way by the compiler.  Maybe a redefinition is required
> > to do an error() if errno is not EINTR.
> 
> What do you mean by 'can not be handled this way'?  The definition in
> my /usr/include/unistd.h look like this:
> 
> # define TEMP_FAILURE_RETRY(expression) \
>   (__extension__                                                              
> \
>     ({ long int __result;                                                     
> \
>        do __result = (long int) (expression);                                 
> \
>        while (__result == -1L && errno == EINTR);                             
> \
>        __result; }))
> 

Yep, this is common ... now the return result of `expression' isn't ignored
anymore ... the question is how the inlined extension cause the warning that
its result is ignored.

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr

Attachment: pgp0bMGd1iVqT.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]