[vlc-devel] [PATCH 1/2] Remove --daemon

Marvin Scholz epirat07 at gmail.com
Mon Mar 30 16:33:02 CEST 2020


Sounds good to me.

On 30 Mar 2020, at 15:37, RĂ©mi Denis-Courmont wrote:

> Forking the process after LibVLC has already used threading is not
> possible, so this has not been working for years, if it ever worked.
>
> Some users do run VLC in the background, but they generally have their
> own wrappers, and/or use dedicated job management such as upstart or
> systemd. daemon() has the fatal problem that it prevents checking
> for error returns (early exit) as well as the standard error.
>
> This also removes --pidfile since it's a no-op without --daemon.
> ---
>  src/interface/interface.c | 10 +++-------
>  src/libvlc-module.c       | 14 ++------------
>  src/libvlc.c              | 29 -----------------------------
>  3 files changed, 5 insertions(+), 48 deletions(-)
>
> diff --git a/src/interface/interface.c b/src/interface/interface.c
> index 96fa792921..cc490a35f2 100644
> --- a/src/interface/interface.c
> +++ b/src/interface/interface.c
> @@ -253,13 +253,9 @@ int libvlc_InternalAddIntf(libvlc_int_t *libvlc, 
> const char *name)
>      {   /* Default interface */
>          char *intf = var_InheritString(libvlc, "intf");
>          if (intf == NULL) /* "intf" has not been set */
> -        {
> -#if !defined(_WIN32) && !defined(__OS2__)
> -            if (!var_InheritBool(libvlc, "daemon"))
> -#endif
> -                msg_Info(libvlc, _("Running vlc with the default 
> interface. "
> -                         "Use 'cvlc' to use vlc without 
> interface."));
> -        }
> +            msg_Info(libvlc, _("Running vlc with the default 
> interface. "
> +                     "Use 'cvlc' to use vlc without interface."));
> +
>          ret = intf_Create(libvlc, intf);
>          free(intf);
>          name = "default";
> diff --git a/src/libvlc-module.c b/src/libvlc-module.c
> index 1da7fa6e79..979f3893ac 100644
> --- a/src/libvlc-module.c
> +++ b/src/libvlc-module.c
> @@ -1133,14 +1133,6 @@ static const char *const ppsz_prefres[] = {
>  #define STATS_LONGTEXT N_( \
>       "Collect miscellaneous local statistics about the playing 
> media.")
>
> -#define DAEMON_TEXT N_("Run as daemon process")
> -#define DAEMON_LONGTEXT N_( \
> -     "Runs VLC as a background daemon process.")
> -
> -#define PIDFILE_TEXT N_("Write process id to file")
> -#define PIDFILE_LONGTEXT N_( \
> -       "Writes process id into specified file.")
> -
>  #define ONEINSTANCE_TEXT N_("Allow only one running instance")
>  #define ONEINSTANCE_LONGTEXT N_( \
>      "Allowing only one running instance of VLC can sometimes be 
> useful, " \
> @@ -2272,11 +2264,9 @@ vlc_module_begin ()
>          change_volatile ()
>      add_obsolete_string( "verbose-objects" ) /* since 2.1.0 */
>  #if !defined(_WIN32) && !defined(__OS2__)
> -    add_bool( "daemon", 0, DAEMON_TEXT, DAEMON_LONGTEXT, true )
> +    add_obsolete_bool( "daemon" ) /* since 4.0.0 */
>          change_short('d')
> -
> -    add_string( "pidfile", NULL, PIDFILE_TEXT, PIDFILE_LONGTEXT,
> -                                       false )
> +    add_obsolete_string( "pidfile" ) /* since 4.0.0 */
>  #endif
>
>  #if defined (_WIN32) || defined (__APPLE__)
> diff --git a/src/libvlc.c b/src/libvlc.c
> index c1a6e574d4..c23cf8b870 100644
> --- a/src/libvlc.c
> +++ b/src/libvlc.c
> @@ -182,35 +182,6 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, 
> int i_argc,
>          exit(0);
>      }
>
> -#ifdef HAVE_DAEMON
> -    /* Check for daemon mode */
> -    if( var_InheritBool( p_libvlc, "daemon" ) )
> -    {
> -        if( daemon( 1, 0) != 0 )
> -        {
> -            msg_Err( p_libvlc, "Unable to fork vlc to daemon mode" );
> -            goto error;
> -        }
> -
> -        /* lets check if we need to write the pidfile */
> -        char *pidfile = var_InheritString( p_libvlc, "pidfile" );
> -        if( pidfile != NULL )
> -        {
> -            FILE *stream = vlc_fopen( pidfile, "w" );
> -            if( stream != NULL )
> -            {
> -                fprintf( stream, "%d", (int)getpid() );
> -                fclose( stream );
> -                msg_Dbg( p_libvlc, "written PID file %s", pidfile );
> -            }
> -            else
> -                msg_Err( p_libvlc, "cannot write PID file %s: %s",
> -                         pidfile, vlc_strerror_c(errno) );
> -            free( pidfile );
> -        }
> -    }
> -#endif
> -
>      i_ret = VLC_ENOMEM;
>
>      if( libvlc_InternalDialogInit( p_libvlc ) != VLC_SUCCESS )
> -- 
> 2.26.0
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list