1 //==========================================================================
7 //==========================================================================
8 // ####ECOSGPLCOPYRIGHTBEGIN####
9 // -------------------------------------------
10 // This file is part of eCos, the Embedded Configurable Operating System.
11 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
13 // eCos is free software; you can redistribute it and/or modify it under
14 // the terms of the GNU General Public License as published by the Free
15 // Software Foundation; either version 2 or (at your option) any later
18 // eCos is distributed in the hope that it will be useful, but WITHOUT
19 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23 // You should have received a copy of the GNU General Public License
24 // along with eCos; if not, write to the Free Software Foundation, Inc.,
25 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
27 // As a special exception, if other files instantiate templates or use
28 // macros or inline functions from this file, or you compile this file
29 // and link it with other works to produce a work based on this file,
30 // this file does not by itself cause the resulting work to be covered by
31 // the GNU General Public License. However the source code for this file
32 // must still be made available in accordance with section (3) of the GNU
33 // General Public License v2.
35 // This exception does not invalidate any other reasons why a work based
36 // on this file might be covered by the GNU General Public License.
37 // -------------------------------------------
38 // ####ECOSGPLCOPYRIGHTEND####
39 //==========================================================================
40 //#####DESCRIPTIONBEGIN####
42 // Author(s): nickg, jlarmour
43 // Contributors: nickg, jlarmour
45 // Purpose: POSIX startup code
46 // Description: This file contains code that must be run when the
47 // POSIX subsystem is started.
51 //####DESCRIPTIONEND####
53 //==========================================================================
55 #include <pkgconf/posix.h>
57 #include <cyg/infra/cyg_type.h>
58 #include "pprivate.h" // POSIX private header
60 // -------------------------------------------------------------------------
62 // define an object that will automatically initialize the POSIX subsystem
64 class cyg_posix_startup_dummy_constructor_class
{
66 cyg_posix_startup_dummy_constructor_class() {
68 #ifdef CYGPKG_POSIX_PTHREAD
69 cyg_posix_pthread_start();
71 #ifdef CYGPKG_POSIX_SIGNALS
72 cyg_posix_signal_start();
73 cyg_posix_exception_start();
75 #ifdef CYGPKG_POSIX_TIMERS
76 cyg_posix_clock_start();
82 static cyg_posix_startup_dummy_constructor_class cyg_posix_startup_obj
83 CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_COMPAT
);
85 // -------------------------------------------------------------------------