Skip to content

Commit

Permalink
Reload the current page on SIGUSR1
Browse files Browse the repository at this point in the history
Fixes: #255
  • Loading branch information
rodarima committed Oct 25, 2024
1 parent 6d5b3ee commit 0458bdf
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion src/dillo.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
* Dillo web browser
*
* Copyright 1999-2007 Jorge Arellano Cid <[email protected]>
* Copyright 2024 Rodrigo Arias Mallo <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -65,6 +66,8 @@
#include "dw/textblock.hh"
#include "dw/table.hh"

static volatile sig_atomic_t sig_reload = 0;

/**
* Command line options structure
*/
Expand Down Expand Up @@ -145,6 +148,11 @@ static void raw_sigchld2(int signum)
}
}

static void handler_usr1(int signum)
{
sig_reload = 1;
}

/**
* Establish SIGCHLD handler
*/
Expand All @@ -161,6 +169,11 @@ static void est_sigchld(void)
perror("sigaction");
exit(1);
}

if (signal(SIGUSR1, handler_usr1) == SIG_ERR) {
perror("signal failed");
exit(1);
}
}

//----------------------------------------------------------------------------
Expand Down Expand Up @@ -580,7 +593,12 @@ int main(int argc, char **argv)
}
}

Fl::run();
while (Fl::wait() > 0) {
if (sig_reload) {
sig_reload = 0;
a_UIcmd_reload(bw);
}
}

/*
* Memory deallocating routines
Expand Down

0 comments on commit 0458bdf

Please sign in to comment.