Skip to content
Snippets Groups Projects
Select Git revision
  • 1b5797e6434843d07c6a3e5ff911b4bdd09d8fe3
  • master default
  • dbck-q-n-d-link
  • foutput-text_stat-override
  • generations
  • text-stat-sha256
  • use-nettle
  • import-nettle
  • refactor-cached_get_text
  • refactor-cached_get_text-part-2
  • add-text_store
  • introduce-generation_position
  • remove-reclamation
  • dbfile-temp-filenames
  • sstrdup
  • dbfile_open_read-check-magic
  • adns_dist
  • liboop_dist
  • search
  • isc
  • dbdbckmultiplechoice
  • last.cvs.revision
  • 2.1.2
  • 2.1.1
  • 2.1.0
  • adns_1_0
  • liboop_0_9
  • 2.0.7
  • search_bp
  • 2.0.6
  • 2.0.5
  • isc_1_01
  • Protocol-A-10.4
  • 2.0.4
  • 2.0.3
  • 2.0.2
  • 2.0.1
  • 2.0.0
  • isc_1_00
  • isc_merge_1999_05_01
  • isc_merge_1999_04_21
41 results

disk-end-of-atomic.c

Blame
  • disk-end-of-atomic.c 2.09 KiB
    /*
     * $Id: disk-end-of-atomic.c,v 0.9 1993/10/10 17:04:05 ceder Exp $
     * Copyright (C) 1991  Lysator Academic Computer Association.
     *
     * This file is part of the LysKOM server.
     * 
     * LysKOM is free software; you can redistribute it and/or modify it
     * under the terms of the GNU General Public License as published by 
     * the Free Software Foundation; either version 1, or (at your option) 
     * any later version.
     * 
     * LysKOM is distributed in the hope that it will be useful, but WITHOUT
     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
     * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     * for more details.
     * 
     * You should have received a copy of the GNU General Public License
     * along with LysKOM; see the file COPYING.  If not, write to
     * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
     * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
     * MA 02139, USA.
     *
     * Please mail bug reports to bug-lyskom@lysator.liu.se. 
     */
    /*
     * end-of-atomic.c
     *
     * This is the magic function which is called at the end of every atomic
     * call to the server. It is responisble for
     *	Free:ing all tmp_alloc:ated memory
     *	Throw out some cached data if necessary
     *	Forget some old texts if necessary
     *	Save some items to disk if saving
     *
     * idle is TRUE if the server has no pending calls. That might be a good time
     * to forget old texts.
     */
    
    static char *rcsid = "$Id: disk-end-of-atomic.c,v 0.9 1993/10/10 17:04:05 ceder Exp $";
    #include "rcs.h"
    USE(rcsid);
    
    #include <stddef.h>
    
    #include "misc-types.h"
    #include "kom-types.h"
    #include "end-of-atomic.h"
    #include "cache.h"
    #include "server/smalloc.h"
    #include "config.h"
    #include "text-garb.h"
    #include "disk-cache.h"
    
    long
    end_of_atomic( Bool  idle )
    {
        int timeout = TIMEOUT;
        static int limit = 0;
    
        free_tmp();
    
        /* FIXME-- make limit_text_stat smarter instead. */
        if (limit++ > 100)
        {
    	cache_limit_size();
    	limit = 0;
        }
    
        if ( idle )
    	if ( garb_text() == FALSE )
    	    timeout = GARBTIMEOUT;
    
        if ( sync_part() == FALSE )
    	timeout = SYNCTIMEOUT;
    
        return timeout;
    }