NAME

Ubic::Daemon::PidState - internal object representing process info stored on disk

VERSION

version 1.60

INTERFACE SUPPORT

This is considered to be a non-public class. Its interface is subject to change without notice.

METHODS

new()

Constructor. Does nothing by itself, doesn't read pidfile and doesn't try to create pid dir.

is_empty()

Check if pid dir doesn't exist yet.

init()

Create pid dir. After this method is called, is_empty() will start to return false value.

read()

Read daemon info from pidfile.

Returns undef if pidfile not found. Throws exceptions when content is invalid.

lock() =item lock($timeout)

Acquire piddir lock. Lock will be nonblocking unless 'timeout' parameter is set.

remove()

Remove the pidfile from the piddir. is_empty() will still return false.

This method should be called only after lock is acquired via lock() method (TODO - check before removing?).

write({ pid = $pid, guid => $guid })>

Write guardian pid and guid into the pidfile.

AUTHOR

Vyacheslav Matyukhin <mmcleric@yandex-team.ru>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Yandex LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.