Connecting Tech Pros Worldwide Help | Site Map

searching for method signatures

  #1  
Old September 2nd, 2008, 07:45 PM
David Hilton
Guest
 
Posts: n/a
I'm working on some legacy code, and I ran across this function that
is giving the compiler issues:

void socket_skip(int i,int code,struct sigcontext * scp) {
fprintf(stderr,"User requested an interupt\n");
signal(SIGINT,exit);
sleep(1);
signal(SIGINT,socket_skip);
return;
}

Not surprisingly, signal doesn't like socket_skip.

I have searched for any sort of #define that could have specified a
unique signal, I have read through most of the possibly relevant lines
(by running 'grep sig `locate signal.h` | less').

Does anyone know of a good way to search for (possibly obfuscated)
method signatures?

How about any other way of finding what I'm looking for?

Short of that, does anyone know what library might have a signal that
accepts that signature?

Thanks,
David
  #2  
Old September 2nd, 2008, 11:05 PM
Ben Bacarisse
Guest
 
Posts: n/a

re: searching for method signatures


David Hilton <quercus.aeternam@gmail.comwrites:
Quote:
I'm working on some legacy code, and I ran across this function that
is giving the compiler issues:
>
void socket_skip(int i,int code,struct sigcontext * scp) {
fprintf(stderr,"User requested an interupt\n");
signal(SIGINT,exit);
sleep(1);
signal(SIGINT,socket_skip);
return;
}
>
Not surprisingly, signal doesn't like socket_skip.
>
I have searched for any sort of #define that could have specified a
unique signal, I have read through most of the possibly relevant lines
(by running 'grep sig `locate signal.h` | less').
>
Does anyone know of a good way to search for (possibly obfuscated)
method signatures?
>
How about any other way of finding what I'm looking for?
>
Short of that, does anyone know what library might have a signal that
accepts that signature?
signal is standard C. I suspect your code simply dates from a time
when it was common for signal to vary quite a lot between systems. I
don't think you will gain anything from trying to find something
similar -- it is likely that is nothing you have available is an exact
match.

If this the only use of signal? If so, I think your simplest solution
is just to change the definition of socket_skip to match the type expected
by the standard signal function (void (*)(int)). The extra parameters
are not used but either handler (exit and socket_skip).

If there are other uses -- in particular some that set the handler to
a function that does use the other parameters then you will have to
find out what these parameters do/did. That may require digging
through the documentation for the "other" system.

--
Ben.
Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
Generic methods and Switch by type =?Utf-8?B?RXRoYW4gU3RyYXVzcw==?= answers 4 June 27th, 2008 08:51 PM
.Net frameword Resources ( vb.net , asp.net etc...) shamirza answers 0 January 17th, 2007 08:05 AM
Calling functions with the wrong parameters Kenneth Brody answers 7 July 19th, 2006 02:55 PM
Python syntax in Lisp and Scheme mike420@ziplip.com answers 699 July 18th, 2005 05:41 AM