[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sqlite-users
Subject:    Re: [sqlite] System function with Sqlite
From:       Chris Wedgwood <cw () f00f ! org>
Date:       2008-08-14 5:17:33
Message-ID: 20080814051733.GB32129 () puku ! stupidest ! org
[Download RAW message or body]

On Thu, Aug 14, 2008 at 04:37:48PM +1200, Chris Brown wrote:

> After SQLite:

[... odd output ...]

> pipe:[120]fd1 ?g?T 1?? 2 04:54:50 CST 2008
> 6
> pipe:[120]fd1 ?g?T 1?? 2 04:54:50 CST 2008

  [BTW; Your email is encoded in a very odd way and looks quite
   strange to me (others might have more luck).]


Having those pipes seems odd.  I assume sqlite closes everthing.

As someone else suggest strace might be useful, build your application
as a binary and run it under strace:

   strace -f -o trace.txt ./name/of/your/thang

and put trace.txt somewhere for examination.  I'm wondering if some
library call(s) are doing something unexpected here.

Can you check which libc you are using and if there is any LD_PRELOAD
or similar active?

> I am still relatively new to Linux so some of the commands you
> mentioned are unfamiliar to me. I hope this output is what you
> wanted. Could you explain how I can set FD_CLOEXEC? If its
> unreliable then I really can't use it permanently but it may be a
> useful test to run.

Some code does something like:

    for (fd = 2; fd <= 255; ++fd)
        fcntl(fd, F_SETFD, FD_CLOEXEC);

FD_CLOEXEC means that the file descriptors are closed on exec
(otherwise they are 'inherited').

The reason I say it's not reliable is that you can have thousands
(millions perhaps) of file descriptors so marking them all is
cumbersome.  It's better to fix the cause of the problem.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic