Then only perform a /sockclose in your ON SOCKWRITE event (after setting a flag or using /sockmark to let you know you can close the socket). For instance:

Code:
on *:SOCKOPEN:mysock: {
  var %i = 1
  while (%i < 500) {
    sockwrite -tn $sockname WRITING IMPORTANT DATA!!!
    inc %i 
  }
  sockmark $sockname done
}

on *:SOCKWRITE:mysock: {
  if ($sock($sockname).sq == 0 && $sock($sockname).mark == done) {
    sockclose $sockname
  }
}


This is how it should have been done from the start.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"