Usage of /var/tmp/ directory on Solaris 10

Hi All,

I have some threaded applications. Design of the application is such that one thread will decode some data and put it in data structure, And main thread will wait for another child threads pick up the decoded data. The data will be large decoded files.

Once decoded data is picked by child threads, They will set some flags.

main thread will be contineously checking for flags set are not and sleeping.

We also uses some third party tools such as nokalva compiler.

When I do truss on the process it is showing

13567/2: open(0x000D21C4, 01401, 0666) = 6
line deleted by reborg
13567/2: llseek(6, 0, 1) = 0
13567/2: getpid() = 13567 [12037]
13567/2: lstat64(0x000A8388, 0xFEBFB780) Err#2 ENOENT
13567/2: 0x000A8388: "/var/tmp/uveQ.a4FA"
13567/2: open(0x000A8388, 01402, 0666) = 7
13567/2: 0x000A8388: "/var/tmp/uveQ.a4FA"13567/2: fstat64(7, 0xFEBFAA90) = 0
13567/2: d=0x04C80000 i=182351 m=0100644 l=1 u=308 g=205 sz=0
13567/2: at = Dec 12 11:49:41 IST 2007 [ 1197440381 ]
13567/2: mt = Dec 12 11:49:41 IST 2007 [ 1197440381 ]
13567/2: ct = Dec 12 11:49:41 IST 2007 [ 1197440381 ]
13567/2: bsz=8192 blks=0 fs=ufs
13567/2: fstat64(7, 0xFEBFA938) = 0
13567/2: d=0x04C80000 i=182351 m=0100644 l=1 u=308 g=205 sz=0
13567/2: at = Dec 12 11:49:41 IST 2007 [ 1197440381 ]
13567/2: mt = Dec 12 11:49:41 IST 2007 [ 1197440381 ]
13567/2: ct = Dec 12 11:49:41 IST 2007 [ 1197440381 ]
13567/2: bsz=8192 blks=0 fs=ufs
13567/2: ioctl(7, 0x00005401, 0xFEBFAA1C) Err#25 ENOTTY
13567/2: fstat64(6, 0xFEBFB6D0) = 0
13567/2: d=0x04C884D8 i=8265 m=0100644 l=1 u=308 g=205 sz=0
13567/2: at = Dec 12 11:49:40 IST 2007 [ 1197440380 ]
13567/2: mt = Dec 12 11:49:40 IST 2007 [ 1197440380 ]
13567/2: ct = Dec 12 11:49:40 IST 2007 [ 1197440380 ]
13567/2: bsz=8192 blks=0 fs=lofs
13567/2: fstat64(6, 0xFEBFB578) = 0
13567/2: d=0x04C884D8 i=8265 m=0100644 l=1 u=308 g=205 sz=0

We are nowhere using /var/tmp/ directory for writing temparory data.
Why it is using /var/tmp/ directory which is on disk. It might have used /tmp
instead of that, which much faster than /var/tmp/.

Please let me know, Does the thread at the time of sleep places its data in /var/tmp directory or what ?

Thanks in Advance.

--
Patil

/var/tmp is designed to store "reboot persistent" temporary data. i.e. data that one may wan't to recover should the machine crash or is stopped because of a power outage, or data a program want to persist between successive runs.