open() return value

Qais Yousef Qais.Yousef at imgtec.com
Fri Jul 13 13:08:21 UTC 2012


Thanks. I checked the syscalls.h and it is setup correctly. I did extra testing and debugging and found out that the failure happens only in a particular case in my application. A test app doesn't fail, and moving the call to open() to a different location in my app behaves correctly too. It seems to be a threading related issue.

One thing. I was expecting a call to open() to use open64(), but isn't (breakpoint triggers normal open()). Open64() has some thread related checking/tidying while open() hasn't. I wonder if this is causing the problem? How can I make sure that open64() is used?

Thanks,
Qais

> -----Original Message-----
> From: liaoxinglong at icubecorp.com [mailto:liaoxinglong at icubecorp.com]
> Sent: 12 July 2012 10:29
> To: Qais Yousef
> Subject: Re: open() return value
> 
> open() as a system call, it will call _syscall3, and _syscall3 implement as a
> macro in libc/sysdeps/linux/common/bits/syscalls-common.h. at the end, in
> macro INLINE_SYSCALL_NCS, you can see __res = -1L; but this file may be not
> really use, you can see syscalls.h depend on your arch. as example, you can
> find libc/sysdeps/linux/mips/bits/syscalls.h in MIPS arch.
> hope this can help you.
> 
> 
> xinglong
> 
> 
> >  -------Original Message-------
> >  From: Qais Yousef <Qais.Yousef at imgtec.com>
> >  To: uClibc at uclibc.org <uClibc at uclibc.org>
> >  Subject: open() return value
> >  Sent: Jul 12 '12 17:06
> >
> >  Hi,
> >
> >  I'm not well versed with what the standard says, but looking at the man
> page of open() function it states that it returns -1 and sets errno, but uClibc
> implementation returns errno directly.
> >
> >  Not a problem for me to be honest, but I just thought I'd point it
> > out :)
> >
> >  Thanks,
> >  Qais
> >
> >  _______________________________________________
> >  uClibc mailing list
> >  uClibc at uclibc.org
> >  http://lists.busybox.net/mailman/listinfo/uclibc
> >


More information about the uClibc mailing list