OK,
I had a bunch of WriteLn in my program, so that is how I knew it was running to
completion. But I have removed them for this test. I changed my source from sending a chr(4) to
pipe.closeinput, which seemed to give a little cleaner run in Lazarus. My test linux command is
just a ls -l to keep it simple.I am still not getting any jobs created in the AT
Facility from my test fpc program. But I have some output from strace, but am not sure how to
interpret it:
execve(./teest, [./teest], [/* 42 vars */]) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
rt_sigaction(SIGFPE, {0x41f520, [], SA_RESTORER|SA_SIGINFO, 0x400d78}, NULL, 8)
= 0
rt_sigaction(SIGSEGV, {0x41f520, [], SA_RESTORER|SA_SIGINFO, 0x400d78}, NULL,
8) = 0
rt_sigaction(SIGBUS, {0x41f520, [], SA_RESTORER|SA_SIGINFO, 0x400d78}, NULL, 8)
= 0
rt_sigaction(SIGILL, {0x41f520, [], SA_RESTORER|SA_SIGINFO, 0x400d78}, NULL, 8)
= 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
readlink(/proc/self/exe, /home/terry/Documents/fpc/CommandProg/teest, 255)
= 43
open(/etc/timezone, O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or
directory)
stat(/etc/localtime, {st_mode=S_IFREG|0644, st_size=3543, ...}) = 0
open(/etc/localtime, O_RDONLY|O_LARGEFILE) = 3
read(3, TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0\0\0\0..., 2048)
= 2048
mmap(NULL, 262144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f513a9c4000
mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f513a9bc000
mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f513a9b4000
mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f513a9ac000
close(3)= 0
time([1268875052]) = 1268875052
mmap(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f513a9a4000
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
readlink(/proc/self/fd/1, /dev/pts/4..., 255) = 10
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
readlink(/proc/self/fd/0, /dev/pts/4..., 255) = 10
ioctl(1, TIOCGWINSZ, {ws_row=63, ws_col=209, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, SNDCTL_TMR_START or TCSETS, {B38400 -opost -isig -icanon -echo ...}) = 0
write(0, \33[6n, 4) = 4
select(2, [1], NULL, NULL, {1, 0}) = 1 (in [1], left {0, 997000})
read(1, \33[63;1R, 256) = 7
write(1, \33[m, 3)= 3
pipe([3, 4])= 0
pipe([5, 6])= 0
pipe([7, 8])= 0
access(at, F_OK) = 0
fork() = 7010
close(4)= 0
close(5)= 0
close(8)= 0
write(6, ls -l\n, 6) = 6
read(3, , 1024) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
read(7, , 1024) = 0
close(6)= 0
ioctl(1, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo ...}) = 0
munmap(0x7f513a9b4000, 32768) = 0
exit_group(0) = ?
Message: 5
Date: Wed, 17 Mar 2010 06:52:50 +0100 (CET)
From: mar...@stack.nl (Marco van de Voort)
Subject: Re: [fpc-pascal] Re: tstringlist.savetostream
To: FPC-Pascal users discussions fpc-pascal@lists.freepascal.org
Message-ID: 20100317055250.144d617...@turtle.stack.nl
Content-Type: text/plain; charset=US-ASCII
In our previous episode, Terry A. Haimann said:
Virtually the same logic in a fpc program doesn't work. The program
runs, but nothing is submitted to the AT facility. I am suspecting
something is requiring one of the libraries in Lazarus that I can't seem
to get to compile in fpc such as fileutil, LResources or maybe
Controls. But I may be missing something else. Something could be
going on with the pipes that I don't understand. I don't know of a way
to monitor the pipes or the AT Facility to see what is going on. I am
running FC10-64
As said before, the FPC program might simply terminate and take the AT job
with it. Let it pauze at the end, e.g. a readln, and see if that makes a
difference.
A tool to see what is going could be strace
___
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http