OnWorks favicon

lockmail.courier - Online in the Cloud

Run lockmail.courier in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command lockmail.courier that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



lockmail - create mail lock files


lockmail [-r] [-t timeout] {lockfile} {program} [argument...]


lockmail is a helper utility for working with mailbox files. Mailbox files must be locked
to prevent other applications from modifying the mailbox at the same time. Different
system use different locking conventions. lockmail uses two of the most common locking
mechanisms in use, which should work reliably on most systems.

lockfile is the pathname to an existing mailbox file. By default, lockmail tries to lock
the mailbox every five seconds (if the mailbox is already locked), and will give up after
three minutes. After the mailbox is successfully locked, lockmail runs program as a child
process, with any optional arguments. When program terminates, lockmail removes the
mailbox lock, and terminates itself.


If a regular lock fails, try a read-only lock. Use this option to lock mailbox files
in a read-only directory.

-t timeout
If the lock attempt fails, try again for up to timeout seconds. The actual timeout is
rounded up to the next five second interval (a lock attempt is tried every five


This section briefly describes the locking mechanism used by lockmail. lockmail uses
three different locking conventions in order to maximize compatibility with other mail
software: C-Client folder locks, dot-locks, and file locks.

C-Client folder locks
Mail software based on the C-Client library creates lock files named /tmp/.dddddd.iiiiii.
Here, dddddd and iiiiii are the device number and the inode number of the mailbox file
(the st_dev and st_ino fields in the inode), in hexadecimal. If the process ID saved in
the C-Client folder lock file is not valid, lockmail concludes that it's a stale lock
file, and will remove it.

A race condition exists where a C-Client process is killed after it creates a lock
file, but before saving its process ID in the lock file. The race window is very
small, but it exists. The C-Client library does not appear to ever clear out the lock

lockmail attempts to resolve this race condition by deleting zero-length lock files
that are at least five minutes old.

lockmail also creates, and honors dot-lock files. Dot-lock files are first created as
temporary files, then linked to lockfile.lock. The link operation fails if the dot-lock
file already exists. lockmail uses an enhanced method of dot-locking, where its process
ID, and the name of the server where lockmail is running is also saved in its dot-lock
file. If the operation fails due to an existing dot-lock file that was created by another
lockmail process on the same server, and the process ID no longer exists, this stale
dot-lock file is removed immediately. In all other situations a dot-lock file older than
five minutes is considered stale, and removed.

A failure to create a dot-lock file is silently ignored if the reason for the failure
is because lockmail does not have the write permission in the dot-lock file's
directory. The incoming mail spool directory (usually /var/mail) typically does not
have global write permissions, so the attempt to create the dot-lock file in the spool
directory will fail, and lockmail will be content with using file-locking only.

File locks
The final locking mechanism lockmail uses is the operating system's file locking facility.
If lockmail fails to obtain all three locks, lockmail will sleep for five seconds and try
again. The only exception is a failure to create a dot-lock because of no write access to
the dot-lock file's directory, which is ignored. If lockmail still fails to obtain all
required locks in the amount of time specified by the -t option (or its default value),
lockmail will terminate with the EX_TEMPFAIL exit code.

lockmail runs program after obtaining the last file lock, waits until program terminates,
and releases all locks. program must terminate before any of the locks obtained by
lockmail expire, and are considered stale. lockmail will then terminate with the same
exit code as program.


lockmail terminates with the same exit status as program lockmail terminates with the
EX_TEMPFAIL exit status if it was unable to obtain a lock, or if program was killed by a

Use lockmail.courier online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Library to enable user space
    application programs to communicate with
    USB devices. Audience: Developers, End
    Users/Desktop. Programming Language: C.
    Download libusb
  • 2
    SWIG is a software development tool
    that connects programs written in C and
    C++ with a variety of high-level
    programming languages. SWIG is used with
    Download SWIG
  • 3
    WooCommerce Nextjs React Theme
    WooCommerce Nextjs React Theme
    React WooCommerce theme, built with
    Next JS, Webpack, Babel, Node, and
    Express, using GraphQL and Apollo
    Client. WooCommerce Store in React(
    contains: Products...
    Download WooCommerce Nextjs React Theme
  • 4
    Package repo for ArchLabs This is an
    application that can also be fetched
    It has been hosted in OnWorks in...
    Download archlabs_repo
  • 5
    Zephyr Project
    Zephyr Project
    The Zephyr Project is a new generation
    real-time operating system (RTOS) that
    supports multiple hardware
    architectures. It is based on a
    small-footprint kernel...
    Download Zephyr Project
  • 6
    SCons is a software construction tool
    that is a superior alternative to the
    classic "Make" build tool that
    we all know and love. SCons is
    implemented a...
    Download SCons
  • More »

Linux commands