Sorry for the wording, "non-existent" would have been better.

The thing is I'm not able to access the objects if they are stored in a list
in the parent, eg (setq *Objs (collect ... )), if I then do (show (car
*Objs)) in the child process I get NIL.

However if I directly store the object, (setq *Obj (db ... )) I am able to
(show *Obj) in the child and the data shows.



On Sat, Jul 16, 2011 at 11:10 PM, Alexander Burger <a...@software-lab.de>wrote:

> Hi Henrik,
>
> > I just noticed that external symbols are only accessible in a forked
> > http server instance if they are directly stored in a variable, e.g.
> > (setq *Obj (db ... )), however if they are stored in a global list
> > they seem to be inaccessible or?
>
> Sorry, it looks like I don't understand the question.
>
> In general, a forked child process inherits everything from the parent,
> including all symbols (intern, transient and extern) and data structures
> global and local variable bindings, properties etc.
>
> What do you mean with "inaccessible"? Fetching them with a lisp function
> like 'db' or 'collect', and/or with Pilog predicates?
>
> Also the state of the cache is passed to the child, i.e. symbols fetched
> by the parent, and thus currently resident in memory, are also found
> resident by the child.
>
> Cheers,
> - Alex
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>

Reply via email to