However, what you are generally referring to would be acquiring a write lock on the stack, which is something you can manage yourself. It's mostly as simple as it would seem- you just need to be able to communicate some sort of global flag that you scripts can check.
For example:
## check if another script has a write lock put isLocked() into someFlag put the seconds into startTime
repeat until (someFlag is FALSE) or (timeElapsed > 10) ## wait until it's available put isLocked() into someFlag put the seconds - startTime into timeElapsed end repeat
if (someFlag is TRUE) then put "Error: scripts too busy, couldn't write for 10 seconds!" else lockStack writeToStack unlockStack end if
You could implement the lock/unlock through an external file, say:
function isLocked return (there is a file "mc.lock") end isLocked
on lockStack put empty into url "file:mc.lock" end lockStack
on unlockStack delete file "mc.lock" end unlockStack
There are more efficient ways to do locking, but this seems appropriate here.
HTH, Brian
And, more importantly, what steps could be taken in a cgi script to make
this approach work, if any? Like, if a stack was currently being written
to, would darwin mc know that? Is there some message returned like "stack
is in use" or something that you could trap for? And maybe make your own
timeout?
_______________________________________________ metacard mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/metacard