Lock Synchronization among processes uses lock. &fml8; provides flock(2) or lockf(2) based lock mechanism. Overview: Lock After 2003/03, &fml8; provides more granular not giant lock. Each resource defines each lock channel name. For example, Mail::Delivery related class accesses the member list. It needs several locks. Mail::Delivery::SMTP needs lock of member list. FML::Send and FML::Process::Delivery locks member list access in callling Mail::Delivery::SMTP. Instead Mail::Delivery::Queue just sees the mail queue. The function can access the queue concurrently, also. So this module does not need lock. Generally speaking, modules using maps require lock. For example, FML/Command/UserControl.pm and FML/Command/Auth.pm needs write lock, but FML/Credential.pm needs only read lock. It is useful if &fml8; provides reader writer lock. But it is not implemented. Currently we attension we use short critical region. TODO Mutex lock in calling *_maps. READER WRITER LOCK in calling IO::Adapter.