[Zope] External methods & persistance and thread safety

Dennis Allison allison@sumeru.stanford.edu
Thu, 5 Jun 2003 15:29:03 -0700 (PDT)


The necessary directory changes are managed by passing a compound command 
to the external system, e.g.

	os.system( 'cd some/path; cvs checkout foo' )

as I was aware of the directory problem.  All file paths are full absolute
paths.

On Thu, 5 Jun 2003, Dieter Maurer wrote:

> Dennis Allison wrote at 2003-6-4 13:08 -0700:
>  > ...
>  > Document content is either created by a template or checked out from CVS
>  > by the user.  The user can also commit their workproduct to CVS.  These 
>  > transactions are managed by External Methods.
> 
> Each user has his own CVS working directory, right?
> 
> Where do you make the "chdir" to the working directory?
> In the External Method or in the external process?
> 
> When you do it in the External Method, you get non-deterministic
> behaviour:
> 
> 	The working directory is a process resource shared
> 	by all threads.
> 	When the working directory is modified concurrently
> 	in different thread, the resulting working directory
> 	in undefined.
> 
> 
> Dieter
>