00001 /*************************************************************************** 00002 LOW_semaphoreSetFactory.cpp - description 00003 ------------------- 00004 begin : Tue Jul 30 2002 00005 copyright : (C) 2002 by Harald Roelle, Helmut Reiser 00006 email : roelle@informatik.uni-muenchen.de, reiser@informatik.uni-muenchen.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 00019 #include "LOW_semaphoreSetFactory.h" 00020 #include "LOW_semaphoreSet_SysV.h" 00021 00022 00023 //===================================================================================== 00024 // 00025 // static factory 00026 // 00027 00028 int LOW_semaphoreSetFactory::getMaxSemaphoresPerSet() 00029 { 00030 #ifdef __linux__ 00031 // for now it has to be hardcoded, because a 00032 // #include <linux/sem.h>, where SEMMSL is defined, 00033 // interferes with other definitions 00034 return 250; 00035 #endif 00036 } 00037 00038 00039 LOW_semaphoreSet* LOW_semaphoreSetFactory::new_semaphoreSet( const semSetIPCKey_t inSemSetIPCKey, unsigned int inCount, unsigned int inInit) 00040 { 00041 #ifdef __linux__ 00042 return new LOW_semaphoreSet_SysV( inSemSetIPCKey, inCount, inInit); 00043 #endif 00044 }