<div dir="ltr"><p dir="ltr">On Nov 8, 2013 5:20 PM, "Serge Hallyn" <<a href="mailto:serge.hallyn@ubuntu.com" target="_blank">serge.hallyn@ubuntu.com</a>> wrote:<br>
><br>
> Quoting S.Çağlar Onur (<a href="mailto:caglar@10ur.org" target="_blank">caglar@10ur.org</a>):<br>
> > Hey Serge,<br>
> ><br>
> > On Fri, Nov 8, 2013 at 4:06 PM, Serge Hallyn <<a href="mailto:serge.hallyn@ubuntu.com" target="_blank">serge.hallyn@ubuntu.com</a>> wrote:<br>
> > > Quoting S.Çağlar Onur (<a href="mailto:caglar@10ur.org" target="_blank">caglar@10ur.org</a>):<br>
> > >> creat() is equivalent to open() with flags equal to O_CREAT|O_WRONLY|O_TRUNC<br>
> > ><br>
> > > Hi,<br>
> > ><br>
> > > I'm confused - what is redundant in the use of creat()?  If there is an<br>
> > > improvement here then I don't understand what it is.  Otherwise I'd<br>
> > > argue creat() is more concise and clearer about its intent.<br>
> ><br>
> > There is no improvement other than a syntactic change (assuming<br>
> > creat() is also protected by glibc like open()). I saw them while<br>
> > trying to come up with a list of functions protected by process_lock<br>
> > and replaced them with open() without checking what glibc does. If you<br>
> > think creat is also protected than please feel free to drop this :)<br>
><br>
> int<br>
> __libc_creat (file, mode)<br>
>      const char *file;<br>
>      mode_t mode;<br>
> {<br>
>   return __open (file, O_WRONLY|O_CREAT|O_TRUNC, mode);<br>
> }</p>
<p dir="ltr">Eheh see, redundant as well as missing a letter :P</p>
<p dir="ltr">> :)<br>
</p>
</div>