home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2005 March / PCWELT_3_2005.ISO / pcwsoft / framework-2.2.exe / ssl_write_all.al < prev    next >
Encoding:
Text File  |  2004-02-17  |  1.2 KB  |  37 lines

  1. # NOTE: Derived from blib/lib/Net/SSLeay.pm.
  2. # Changes made here will be lost when autosplit is run again.
  3. # See AutoSplit.pm.
  4. package Net::SSLeay;
  5.  
  6. #line 1532 "blib/lib/Net/SSLeay.pm (autosplit into blib/lib/auto/Net/SSLeay/ssl_write_all.al)"
  7. sub ssl_write_all {
  8.     my $ssl = $_[0];    
  9.     my ($data_ref, $errs);
  10.     if (ref $_[1]) {
  11.     $data_ref = $_[1];
  12.     } else {
  13.     $data_ref = \$_[1];
  14.     }
  15.     my ($wrote, $written, $to_write) = (0,0, blength($$data_ref));
  16.     my $vm = $trace>2 && $linux_debug ?
  17.     (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown';
  18.     warn "  write_all VM at entry=$vm\n" if $trace>2;
  19.     while ($to_write) {
  20.     #sleep 1; # *** DEBUG
  21.     warn "partial `$$data_ref'\n" if $trace>3;
  22.     $wrote = write_partial($ssl, $written, $to_write, $$data_ref);
  23.     $written += $wrote if defined $wrote;
  24.     $to_write -= $wrote if defined $wrote;
  25.     $vm = $trace>2 && $linux_debug ?
  26.         (split ' ', `cat /proc/$$/stat`)[22] : 'vm_unknown';
  27.     warn "  written so far $wrote:$written bytes (VM=$vm)\n" if $trace>2;
  28.     
  29.     $errs .= print_errs('SSL_write');
  30.     return (wantarray ? (undef, $errs) : undef) if $errs;
  31.     }
  32.     return wantarray ? ($written, $errs) : $written;
  33. }
  34.  
  35. # end of Net::SSLeay::ssl_write_all
  36. 1;
  37.