[fpc-pascal] Re: tstringlist.savetostream
Terry A. Haimann
terry at HaimannOnline.com
Thu Mar 18 02:29:18 CET 2010
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: marcov at stack.nl (Marco van de Voort)
Subject: Re: [fpc-pascal] Re: tstringlist.savetostream
To: FPC-Pascal users discussions <fpc-pascal at lists.freepascal.org>
Message-ID: <20100317055250.144D617BFF at 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"
More information about the fpc-pascal
mailing list