scoreboard.h revision 1ccd992d37d62c8cb2056126f2234f64ec189bfd
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek/* ====================================================================
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * The Apache Software License, Version 1.1
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek *
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * Copyright (c) 2000 The Apache Software Foundation. All rights
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * reserved.
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek *
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * Redistribution and use in source and binary forms, with or without
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * modification, are permitted provided that the following conditions
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * are met:
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek *
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * 1. Redistributions of source code must retain the above copyright
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * notice, this list of conditions and the following disclaimer.
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek *
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * 2. Redistributions in binary form must reproduce the above copyright
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * notice, this list of conditions and the following disclaimer in
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * the documentation and/or other materials provided with the
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * distribution.
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek *
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * 3. The end-user documentation included with the redistribution,
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * if any, must include the following acknowledgment:
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * "This product includes software developed by the
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * Apache Software Foundation (http://www.apache.org/)."
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * Alternately, this acknowledgment may appear in the software itself,
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * if and wherever such third-party acknowledgments normally appear.
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering *
c6878637502b1717a110a9a7e8bba32a8583fcdfLennart Poettering * 4. The names "Apache" and "Apache Software Foundation" must
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering * not be used to endorse or promote products derived from this
07630cea1f3a845c09309f197ac7c4f11edd3b62Lennart Poettering * software without prior written permission. For written
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * permission, please contact apache@apache.org.
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart Poettering *
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * 5. Products derived from this software may not be called "Apache",
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * nor may "Apache" appear in their name, without prior written
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * permission of the Apache Software Foundation.
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek *
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
63c372cb9df3bee01e3bf8cd7f96f336bddda846Lennart Poettering * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
63c372cb9df3bee01e3bf8cd7f96f336bddda846Lennart Poettering * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * SUCH DAMAGE.
c6878637502b1717a110a9a7e8bba32a8583fcdfLennart Poettering * ====================================================================
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek *
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * This software consists of voluntary contributions made by many
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart Poettering * individuals on behalf of the Apache Software Foundation. For more
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * information on the Apache Software Foundation, please see
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * <http://www.apache.org/>.
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek *
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart Poettering * Portions of this software are based upon public domain software
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * originally written at the National Center for Supercomputing Applications,
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek * University of Illinois, Urbana-Champaign.
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek */
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek#ifndef MPMT_BEOS_SCOREBOARD_H
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek#define MPMT_BEOS_SCOREBOARD_H
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek#ifdef __cplusplus
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmekextern "C" {
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek#endif
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmek
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart Poettering#include <sys/times.h>
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart Poettering#include "mpm_default.h" /* For HARD_.*_LIMIT */
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart Poettering
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart PoetteringAPI_EXPORT(int) ap_exists_scoreboard_image(void);
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmekvoid reinit_scoareboard(apr_pool_t *p);
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart Poetteringvoid cleanup_scoreboard(void);
b2c23da8cea1987a1a329f5a964d3299b7ca7890Lennart Poetteringvoid ap_mpmt_beos_set_maintain_connection_status(int flag);
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmekvoid ap_mpmt_beos_force_reset_connection_status(long conn_id);
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmekvoid reinit_scoreboard(apr_pool_t *p);
4f1a33dd0d62171bbeac74859642b8ff0ab547b8Zbigniew Jędrzejewski-Szmekvoid update_scoreboard_global(void);
API_EXPORT(int) find_child_by_pid(int pid);
int ap_update_child_status(int child_num, int thread_num, int status, request_rec *r);
void ap_time_process_request(int child_num, int thread_num, int status);
/* Add support for connection table functions */
#define KEY_LENGTH 16
#define VALUE_LENGTH 64
typedef struct {
char key[KEY_LENGTH];
char value[VALUE_LENGTH];
} status_table_entry;
#define STATUSES_PER_CONNECTION 10
typedef struct {
status_table_entry
table[HARD_SERVER_LIMIT*HARD_THREAD_LIMIT][STATUSES_PER_CONNECTION];
} scoreboard;
#define SCOREBOARD_SIZE sizeof(scoreboard)
#ifdef __cplusplus
}
#endif
#endif /* !MPMT_BEOS_SCOREBOARD_H */