Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Perl question

Posted on 1997-09-11
7
Medium Priority
?
339 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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 200 total points
ID: 1206243
Try unbuffering the socket handle.
eg:
 select ((select(SOCKET), $|=1)[0];
0

Featured Post

Enroll in September's Course of the Month

This month’s featured course covers 16 hours of training in installation, management, and deployment of VMware vSphere virtualization environments. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

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

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…
In the distant past (last year) I hacked together a little toy that would allow a couple of Manager types to query, preview, and extract data from a number of MongoDB instances, to their tool of choice: Excel (http://dilbert.com/strips/comic/2007-08…
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…
Six Sigma Control Plans

715 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