[Ecls-list] directory function and stat system calls
Robert Dodier
robert.dodier at gmail.com
Fri Dec 18 07:01:06 UTC 2009
On 12/17/09, Juan Jose Garcia-Ripoll
<juanjose.garciaripoll at googlemail.com> wrote:
> On Wed, Dec 16, 2009 at 6:14 AM, Robert Dodier
> An unfortunate mistake: DIRECTORY used stat() on all entries in a directory,
> not only those that matched the mask. It was just a matter of switching
> lines. Now things are better. Thanks a lot for reporting.
> $ echo '(directory "/Users/jjgarcia/tmp/")(quit)' > foo.lsp; sudo dtrace -n
> 'pid$target::safe_stat:entry { printf("%s\n", copyinstr((uintptr_t)arg0));
> }' -c "ecl -norc -load foo"
> dtrace: description 'pid$target::safe_stat:entry ' matched 1 probe
> ;;; Loading #P"/Users/jjgarcia/foo.lsp"
> dtrace: pid 39532 has exited
> CPU ID FUNCTION:NAME
> 0 19180 safe_stat:entry jjgarcia
> 0 19180 safe_stat:entry tmp
Hmm. I updated from CVS and I got r1.100 src/d/unixfsys.d
which has the modified code. I did a clean build,
but I get the same behavior as before.
For the record, I'm looking at the output of strace,
not dtrace, which appears to be something else.
I don't know what safe_stat is; I'm guessing it is a library
function instead of a system call and, therefore,
not immediately relevant. (I'm interested in the calls to stat64.)
Thanks for your help,
Robert Dodier
More information about the ecl-devel
mailing list