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://lists.freepascal.org/mailman/listinfo/fpc-pascal