mirror of
https://github.com/php/php-src.git
synced 2026-04-26 17:38:14 +02:00
1ad08256f3
This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
68 lines
1.2 KiB
C
68 lines
1.2 KiB
C
/* (c) 2007,2008 Andrei Nigmatulin, Jerome Loyet */
|
|
|
|
#include <sys/mman.h>
|
|
#include <errno.h>
|
|
#include <string.h>
|
|
|
|
#include "fpm_shm.h"
|
|
#include "zlog.h"
|
|
|
|
|
|
/* MAP_ANON is deprecated, but not in macosx */
|
|
#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS)
|
|
#define MAP_ANONYMOUS MAP_ANON
|
|
#endif
|
|
|
|
static size_t fpm_shm_size = 0;
|
|
|
|
void *fpm_shm_alloc(size_t size) /* {{{ */
|
|
{
|
|
void *mem;
|
|
|
|
mem = mmap(0, size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0);
|
|
|
|
#ifdef MAP_FAILED
|
|
if (mem == MAP_FAILED) {
|
|
zlog(ZLOG_SYSERROR, "unable to allocate %zu bytes in shared memory: %s", size, strerror(errno));
|
|
return NULL;
|
|
}
|
|
#endif
|
|
|
|
if (!mem) {
|
|
zlog(ZLOG_SYSERROR, "unable to allocate %zu bytes in shared memory", size);
|
|
return NULL;
|
|
}
|
|
|
|
fpm_shm_size += size;
|
|
return mem;
|
|
}
|
|
/* }}} */
|
|
|
|
int fpm_shm_free(void *mem, size_t size) /* {{{ */
|
|
{
|
|
if (!mem) {
|
|
zlog(ZLOG_ERROR, "mem is NULL");
|
|
return 0;
|
|
}
|
|
|
|
if (munmap(mem, size) == -1) {
|
|
zlog(ZLOG_SYSERROR, "Unable to free shm");
|
|
return 0;
|
|
}
|
|
|
|
if (fpm_shm_size - size > 0) {
|
|
fpm_shm_size -= size;
|
|
} else {
|
|
fpm_shm_size = 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
/* }}} */
|
|
|
|
size_t fpm_shm_get_size_allocated() /* {{{*/
|
|
{
|
|
return fpm_shm_size;
|
|
}
|
|
/* }}} */
|