It seems that the files are not closed, but I use if((elev_fd = G_open_cell_old (name, mapset)) < 0) G_fatal_error( _("can't open %s"), name); if((output_fd = G_open_cell_new(outname)) < 0) G_fatal_error( _("can't open outname %s"), outname);
to open the files and G_close_cell(output_fd); G_close_cell(elev_fd); to close the files again. Is there anything wrong? Andi Glynn Clements wrote: > [EMAIL PROTECTED] wrote: > >> I am writing a Grass programm which creates a raster, reads the values >> of the raster map at certain points and creates a new rastermap having >> the same name as the old one. >> >> I am using the function >> >> G_open_cell_new() to overwrite the existing raster map. >> >> and the function >> >> G_close_cell() >> >> >> It works fine. >> >> But after about 1000 loops I get the following messsage. >> >> WARNING: opencell opening temp null file: no temp files available >> >> Does anyone know what it means. I have enough space left in my ./tmp >> folder. And I also have write permissions on it. > > It probably means that files aren't getting closed, so you are > exceeding the limit on the number of open files per process (by > default 1024, check with ulimit -n). > > On Linux, you can check which files a process has open by looking in > the /proc/<pid>/fd directory, where <pid> is the PID of the process. > > If you're modifying a map "in-place", you'll need to close and re-open > the input map in order to see the changes. Opening a map for write > creates a temporary file, which is renamed over the original when > closed. If the original cell/fcell file is still open for read at that > point, it will still exist and still be open (it will show up as > "(deleted)" in /proc/<pid>/fd). > -- Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten Browser-Versionen downloaden: http://www.gmx.net/de/go/browser _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev