Help | Site Map
Connecting Tech Pros Worldwide
 
 
LinkBack Thread Tools
  #1  
Old September 2nd, 2008, 07:45 PM
David Hilton
Guest
 
Posts: n/a
Default searching for method signatures

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
Default 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.
 

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over network members.
Post your question now . . .
It's fast and it's free

Popular Articles