SOURCES: poldek-sigint_emit.patch (NEW) - add sigint_emit(); can b...
megabajt
megabajt at pld-linux.org
Wed Apr 9 14:42:31 CEST 2008
Author: megabajt Date: Wed Apr 9 12:42:31 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- add sigint_emit(); can be used to interrupt actions in applications using
libpoldek
---- Files affected:
SOURCES:
poldek-sigint_emit.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/poldek-sigint_emit.patch
diff -u /dev/null SOURCES/poldek-sigint_emit.patch:1.1
--- /dev/null Wed Apr 9 14:42:31 2008
+++ SOURCES/poldek-sigint_emit.patch Wed Apr 9 14:42:26 2008
@@ -0,0 +1,53 @@
+diff -urN poldek-0.30-cvs20080225.00/libpoldek.sym poldek-0.30-cvs20080225.00.new/libpoldek.sym
+--- poldek-0.30-cvs20080225.00/libpoldek.sym 2008-04-08 19:25:12.000000000 +0200
++++ poldek-0.30-cvs20080225.00.new/libpoldek.sym 2008-04-08 19:26:26.000000000 +0200
+@@ -261,6 +261,7 @@
+ sigint_destroy
+ sigint_init
+ sigint_enable
++sigint_emit
+ sigint_pop
+ sigint_push
+ sigint_reached
+diff -urN poldek-0.30-cvs20080225.00/sigint/sigint.c poldek-0.30-cvs20080225.00.new/sigint/sigint.c
+--- poldek-0.30-cvs20080225.00/sigint/sigint.c 2008-02-02 22:49:05.000000000 +0100
++++ poldek-0.30-cvs20080225.00.new/sigint/sigint.c 2008-04-08 19:12:37.000000000 +0200
+@@ -48,6 +48,21 @@
+ orig_sighandler(sig);
+ }
+
++void sigint_emit (void)
++{
++ int i;
++
++ if (enabled == 0)
++ return;
++
++ interrupted = 1;
++
++ for (i = 0; i < n_array_size (cb_stack); i++) {
++ void (*cb)(void) = n_array_nth (cb_stack, i);
++
++ cb ();
++ }
++}
+
+ void sigint_enable(int v)
+ {
+diff -urN poldek-0.30-cvs20080225.00/sigint/sigint.h poldek-0.30-cvs20080225.00.new/sigint/sigint.h
+--- poldek-0.30-cvs20080225.00/sigint/sigint.h 2008-02-02 22:38:26.000000000 +0100
++++ poldek-0.30-cvs20080225.00.new/sigint/sigint.h 2008-04-08 19:22:41.000000000 +0200
+@@ -6,7 +6,12 @@
+ void sigint_destroy(void);
+ void sigint_reset(void);
+
+-void sigint_reset(void);
++/*
++ * emit sigint. Can be used in some external applications
++ * using libpoldek to interrupt given action (eg. searching,
++ * processing dependencies and others)
++ */
++void sigint_emit(void);
+
+ void sigint_push(void (*cb)(void));
+ void *sigint_pop(void);
================================================================
More information about the pld-cvs-commit
mailing list