Sticky directory?
Sebastian Strollo
seb@REDACTED
Fri Oct 18 03:43:48 CEST 2002
James Hague <jamesh@REDACTED> writes:
> I know what this is. It's because I had a module with the same name as a
> module in stdlib.
Exactly.
> I'm still not sure what "sticky directory" means, but
> renaming the module fixed the problem.
Well, we were having a lot of people shooting themselves in the foot
when they made their first module called "lists"... :-) So we invented
something to prevent the whole system from come crashing down in such
cases. A directory (in the search path) can be marked sticky to the
code loader, then if anyone tries to load a module with the same name
as a module already loaded from such a sticky directory you get the
error you saw. From the manpage for "code":
stick_dir(Dir) -> ok | {error, term()}
Types Dir = string()
This function marks Dir as 'sticky'. The system
issues a warning and rejects the request if a user
tries to re-load a module in a sticky directory.
Sticky directories are used to warn the user about
inadvertent changes to system software.
Cheers,
/Sebastian
More information about the erlang-questions
mailing list