mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-30 23:21:08 +03:00
a5c606f6c3
Netlink events get lost when the kernel creates thousends of events faster than udevd reads it. The default is 128 KB, which can carry app. 500 events. Set it to 16 MB now. I have 4000 fibrechannel LUNs connected to my system. There are two paths to the devices and two ports on the host connected via a switch. This gives 16000 when probed. I have had problems getting all of the entries in /dev created. -- Mark Haverkamp <markh@osdl.org> Signed-off-by: Kay Sievers <kay.sievers@suse.de>
75 lines
2.0 KiB
C
75 lines
2.0 KiB
C
/*
|
|
* udev_libc_wrapper - wrapping of functions missing in a specific libc
|
|
* or not working in a statically compiled binary
|
|
*
|
|
* Copyright (C) 2005 Kay Sievers <kay.sievers@vrfy.org>
|
|
*
|
|
* This program 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 version 2 of the License.
|
|
*
|
|
* This program 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 this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*
|
|
*/
|
|
|
|
#ifndef _UDEV_LIBC_WRAPPER_H_
|
|
#define _UDEV_LIBC_WRAPPER_H_
|
|
|
|
#include <string.h>
|
|
#include <unistd.h>
|
|
#include <linux/types.h>
|
|
|
|
/* needed for our signal handlers to work */
|
|
#undef asmlinkage
|
|
#ifdef __i386__
|
|
#define asmlinkage __attribute__((regparm(0)))
|
|
#else
|
|
#define asmlinkage
|
|
#endif
|
|
|
|
/* headers are broken on some lazy platforms */
|
|
#ifndef __FD_SET
|
|
#define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
|
|
#endif
|
|
#ifndef __FD_CLR
|
|
#define __FD_CLR(d, set) ((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
|
|
#endif
|
|
#ifndef __FD_ISSET
|
|
#define __FD_ISSET(d, set) (((set)->fds_bits[__FDELT(d)] & __FDMASK(d)) != 0)
|
|
#endif
|
|
#ifndef __FD_ZERO
|
|
#define __FD_ZERO(set) ((void) memset ((void*) (set), 0, sizeof (fd_set)))
|
|
#endif
|
|
|
|
/* missing in some lazy distros */
|
|
#ifndef NETLINK_KOBJECT_UEVENT
|
|
#define NETLINK_KOBJECT_UEVENT 15
|
|
#endif
|
|
|
|
#ifndef SO_RCVBUFFORCE
|
|
#define SO_RCVBUFFORCE 33
|
|
#endif
|
|
|
|
#ifdef __KLIBC__
|
|
static inline int clearenv(void)
|
|
{
|
|
environ[0] = NULL;
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
extern uid_t lookup_user(const char *user);
|
|
extern gid_t lookup_group(const char *group);
|
|
|
|
extern size_t strlcpy(char *dst, const char *src, size_t size);
|
|
extern size_t strlcat(char *dst, const char *src, size_t size);
|
|
|
|
#endif /* _UDEV_LIBC_WRAPPER_H_ */
|