Solved

Perl question

Posted on 1997-09-11
7
334 Views
Last Modified: 2010-05-18
When I attempt multiple get() cmnds within my FTP session,
although I receive all of the files successfully, without
any errors, the subsequent call to close() hangs.  When I
run it with the -w switch, I get the following warnings
which may or may not be of interest:

No such signal: SIGALRM at C:\usr\perl\lib/IO/Socket.pm line 206.
No such signal: SIGALRM at C:\usr\perl\lib/IO/Socket.pm line 206.
No such signal: SIGALRM at C:\usr\perl\lib/IO/Socket.pm line 571.

Thanks very much for any help you might give.

Dave Griffin

New Comment:

In order to determine the contents of %SIG, I executed the following:

@SIG = %SIG;
print "@SIG\n";

and received the following:
10  ILL  20  12  13  BREAK  14  16  17  ABRT  18  19  INT  1  3  5  SEGV  6  7  TERM  9  FPE

I'll check it out, but I just have a gut feeling it is'nt a
signal thing.  My guess is that, at the TCP level, a response to the close request is getting dropped somewhere.
Is there any signal handling involved in processing that
acknowledgement?
0
Comment
Question by:ryry
  • 3
  • 3
7 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 1206237
What signals are avaliable under NT?
(what is in keys(%SIG)?)
0
 

Author Comment

by:ryry
ID: 1206238
Edited text of question
0
 
LVL 84

Expert Comment

by:ozo
ID: 1206239
Sure enough, no ALRM.  Do you know if there's an equivalent under NT?
Maybe $SIG{14}?  Does NT have an alarm system call?

0
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 

Author Comment

by:ryry
ID: 1206240
Edited text of question
0
 

Author Comment

by:ryry
ID: 1206241
Edited text of question
0
 
LVL 84

Expert Comment

by:ozo
ID: 1206242
Yes, alarm clock signals are used to implement time outs.
(which could conceivable be related to hanging behavior...)
0
 

Accepted Solution

by:
mat041897 earned 100 total points
ID: 1206243
Try unbuffering the socket handle.
eg:
 select ((select(SOCKET), $|=1)[0];
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
read PayflowPro reports using the report metadata using perl 11 41
perl rename 2 143
Perl count the hash for print 4 164
binary to char / hexadecimal 5 112
I've just discovered very important differences between Windows an Unix formats in Perl,at least 5.xx.. MOST IMPORTANT: Use Unix file format while saving Your script. otherwise it will have ^M s or smth likely weird in the EOL, Then DO NOT use m…
On Microsoft Windows, if  when you click or type the name of a .pl file, you get an error "is not recognized as an internal or external command, operable program or batch file", then this means you do not have the .pl file extension associated with …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question