> ns_mutex lock [nsv_get sharedLock logFile] > nsv_append sharedLock logFile "log $line"
nsv_append appends a string to an element in an nsv array, in this case, sharedLock->logFile. I do not think this is what you want. What I think you probably want is something like ns_mutex lock [nsv_get sharedLock logFile] log $line ns_mutex unlock [nsv_get sharedLock logFile] This: locks the mutex for logFile writes a line (assuming that this is what the command "log $line" does) unlocks the mutex, so that other threads can use this. A few extra comments: I found that (in admittedly, earlier versions of aolserver) I had problems doing something like this, because when I was writing a lot of data, I would end up locking, opening a file, closing a file, and unlocking a LOT. I ended up doing something like having the "log" command nsv_append to a variable. Every 10 minutes or so, the contents of that variable are appended to a file. This doesn't even need a lock. This is what I do in "production" systems. Test systems append to a file immediately so I don't have to wait 10 minutes to see my output. I really miss the ability to share files across interpreters. Is there still no way to do with with AOLServer 3 and above? Rusty
