Re: [Vala] Vala: Signal from POSIX
- From: Ervin Orense Balaoro <ierosvin gmail com>
- To: Phil Housley <undeconstructed gmail com>
- Cc: vala-list gnome org
- Subject: Re: [Vala] Vala: Signal from POSIX
- Date: Tue, 19 Oct 2010 10:33:29 +0800
Yes, static variables will solve the problem. :D
Thanks Phil!
But there is a limitation to this approach by making Check implement an
interface(i.e. PrintInterface),
where printf_value() is from the interface implemented:
public class Check : PrintInterface{
...
public static int x = 0;
public open(){
...
signal(SIGUSR1, sighandler);
}
...
public void sighandler(int signum) {
x++;
print_value();
}
public void print_value(){
stdout.printf("%d", x);
}
...
}
Do vala have anyway to get this running?
On Mon, Oct 18, 2010 at 9:13 PM, Phil Housley <undeconstructed gmail com>wrote:
On 18 October 2010 09:35, Ervin Orense Balaoro <ierosvin gmail com> wrote:
Hello,
I dont know if this is the right place to ask questions regarding vala.
But
anyway, ill post the question here just in case someone has the same
experience i had while working with vala using signal from posix.
Code:
public class Check{
...
public int x = 0;
public open(){
...
signal(SIGUSR1, sighandler);
}
...
public void sighandler(int signum) {
stdout.printf("%d", x++);
}
...
}
How do we make our signal handlers access the global variables?
i write a similar code in C, but works okay there.
The callback needed for signal() is a void -> void method, so there is
no way to pass a pointer to your class instance, and so no way for the
callback to invoke the method on the correct instance of the Check
class.
Using a static method and variable should work I assume.
--
Phil Housley
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]