home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / protocol / tcpip / 4342 < prev    next >
Encoding:
Text File  |  1992-09-08  |  1.5 KB  |  34 lines

  1. Newsgroups: comp.protocols.tcp-ip
  2. Path: sparky!uunet!gatech!europa.asd.contel.com!darwin.sura.net!spool.mu.edu!yale.edu!qt.cs.utexas.edu!news.Brown.EDU!noc.near.net!chpc.chpc.org!ralf
  3. From: ralf@chpc.org (Ralph Valentino)
  4. Subject: RPC memory cleanup
  5. Message-ID: <1992Sep8.152259.28235@chpc.org>
  6. Organization: Center For High Performance Computing
  7. Date: Tue, 8 Sep 1992 15:22:59 GMT
  8. Lines: 24
  9.  
  10. I've written an RPC service and it works, except that it has a memory
  11. leak.  I've added a number of xdr_free()'s everywhere I could think to
  12. put one and that cut the leak from 1k/request to 100bytes/request, but
  13. I just can't figure out where to put the remainder.  (I'm assuming
  14. it's a missing rpc related *_free() because the program itself never
  15. malloc()'s.)
  16.  
  17. Is there a list of which calls need [xdr|svc]_free()'s.  The nutshell
  18. book isn't very useful here.  Does anyone have a suggestion as to how
  19. I can approach tracking this down?  The server uses tcp and udp, both
  20. client and server calls, one way, followup, and broadcast datagrams,
  21. and does it's own multitasking in a single thread of execution (no
  22. threads or forks).  It handles 1000+ requests a day, so even 100 bytes
  23. per request becomes significant.
  24.  
  25. If it matters, the machines are a number of Decstation 5100's and
  26. 3100's.  The _svc.c _clnt.c and _xdr.c files were created through
  27. rpcgen (though I had to hand modify _xdr.c by hand).
  28.  
  29. -Ralph
  30. ===============
  31. Ralph Valentino   (ralf@chpc.org)  (ralf@wpi.wpi.edu)
  32. Hardware Engineer,  Worcester  Polytechnic  Institute
  33. Center for High Performance Computing, Marlborough MA
  34.