in reply to Callback on file access

If you know what file your subprogram will try to read on, you can create a pipe via mkpipe and feed the program from that pipe. If you don't know what files the subprogram will try to read from, I fear you'll have to go the route of a user-installable filesystem via FUSE, or by going the roundabout way of installing Samba, Samba callbacks and then mounting the Samba share into Linux.

A second approach could be to override the system calls if the subprogram loads the C library dynamically and redirect the system calls into your program, much like FUSE, but completely in user space.

Neither of the solution is an in-process solution, unfortunately.

Replies are listed 'Best First'.
Re^2: Callback on file access
by tomazos (Deacon) on Dec 13, 2009 at 16:25 UTC
    What about Linux::Inotify2 and friends? Why wouldn't something like that work or be appropriate for this problem? -Andrew.

      Ah - a good approach - I thought the callback was supposed to supply data, but it seems that it's enough to just register the access. Then, potentially Inotify or truss or strace might produce the appropriate list of system calls as well.