/
githubmirror
/
libtirpc
Обзор
Документация
Войти
/
githubmirror
/
libtirpc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/rpc_dtablesize.c
49 строк
2 KB
Zhuohao Bai
_rpc_dtablesize: Decrease the value of size.
05 янв 2024, 19:36
05 янв 2024, 19:36
3e5f7b0
Код
Авторство
О чём код?
/* * Copyright (c) 2009, Sun Microsystems, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * - Neither the name of Sun Microsystems, Inc. nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #include <unistd.h> #include <sys/select.h> #include <rpc/clnt.h> #include <rpc/rpc_com.h> /* * Cache the result of getdtablesize(), so we don't have to do an * expensive system call every time. */ int _rpc_dtablesize(void) { static int size; if (size == 0) { size = sysconf(_SC_OPEN_MAX); if (size > FD_SETSIZE) size = FD_SETSIZE; } return (size); }