Date: Wed, 22 Apr 92 23:13:25 -0500 From: rcharif AT math DOT utexas DOT edu Posted-Date: Wed, 22 Apr 92 23:13:25 -0500 To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: Ram disk, signal management Reply-To: rcharif AT ma DOT utexas DOT edu Status: O go32 Memory management ---------------------- go32 frees all allocated memory when a child process is forked. A solution for that is to have a delayed write cache like norton v6.01 of 1 meg minimum, this will speed up paging dramatically. Another alternative is to use a modified version of go32 v1.05 that can reserves a minimum amount of memory for go32 to keep. This modification was made by M. Kobayashi and Y. Shibata, and can be ftped from utsun.s.u-tokyo.ac.jp in /GNU/djgcc. It supports a keep flag and has an lru algorithm for paging. The syntaxe is go32 keep=<# of bytes to keep on system> . It would be nice if these modification are made to version 1.06, and better if DJ incorporates them in the final product. For those who want to use v1.06, you can try to edit the file exphdlr.c and look for case 7 in the function turbo_assist at the end of the file. This is the call to start a child process. You will find a call to a function page_out_everything() before the system call. You might try to trap this call and the page_in call following. Signal management ----------------- I am working to add signal handling to djgpp. An alpha version which supports Ctrl-c (SIGINT) and limited SIGALRM handling is available. The major part consists of a new interface function between go32 and the user program. For those who need signal handling for other signals and / or are interested in developing these, I appreciate if you consider using a common base so that I can incorporate your functions in my version as I don't have the time to develop or simulate all unix style signals. The patch is available for go32 v1.05 with the japanese patch or for v1.06. It can be ftped from rascal.ics.utexas.edu:/tmp starting Saturday, 04/25/92.