Commit 5d1564df authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

error checking in signals.c + Add signals to documentation

parent 78a066bc
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -677,6 +677,17 @@ the mouse. The zoom will always happen so that the pixel on which you entered
the zoom mode remains stationary.  So, to enlarge a specific part of an image,
click the zoom button on that part.
.
.Sh SIGNALS
In slideshow mode,
.Nm
handles the following signals:
.Bl -tag -width indent
.It SIGUSR1
Switch to next image
.It SIGUSR2
Switch to previous image
.El
.
.Sh USAGE EXAMPLES
Here are some examples of useful option combinations
.Bl -tag -width indent
+16 −5
Original line number Diff line number Diff line
@@ -34,15 +34,26 @@ void setup_signal_handlers()
	sigset_t feh_ss;
	D_ENTER(4);

	sigemptyset(&feh_ss);
	sigaddset(&feh_ss, SIGUSR1);
	sigaddset(&feh_ss, SIGUSR2);
	if (
		(sigemptyset(&feh_ss) == -1) ||
		(sigaddset(&feh_ss, SIGUSR1) == -1) ||
		(sigaddset(&feh_ss, SIGUSR2) == -1))
	{
		weprintf("Failed to set up signal mask, SIGUSR1/2 won't work");
		D_RETURN_(4);
	}

	feh_sh.sa_handler = feh_handle_signal;
	feh_sh.sa_mask = feh_ss;

	sigaction(SIGUSR1, &feh_sh, NULL);
	sigaction(SIGUSR2, &feh_sh, NULL);
	if (
		(sigaction(SIGUSR1, &feh_sh, NULL) == -1) ||
		(sigaction(SIGUSR2, &feh_sh, NULL) == -1))
	{
		weprintf("Failed to set up signal handler, SIGUSR1/2 won't work");
		D_RETURN_(4);
	}

	D_RETURN_(4);
}